Projeyi Tomcat server da çalıştırırken aldığım OutOfMemory Hatası ne anlama gelir? Anladığım kadarıyla yeterli hafıza olmayışı. Tahmin üzerine demek ki bu bellek miktarını bir yerden artışını sağlamalıyım.
Peki nerede ve nasıl bir yor izlemem gerekir?
java.lang.OutOfMemoryError: PermGen space
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
Aynen tomcat belirli bir öntanımlı bellek miktarı ile gelir. Gerekiyorsa sen o bellek miktarını artırman gerekir. bunun için aşağıdaki komut satırını setenv.bat içinde düzeltebilirsin. Eclipse üzerinden kullanıyorsan da run profile kısmından ekleyebilirsin.
set CATALINA_OPTS=-server -Xms256m -Xmx1024m -XX:PermSize=512m -XX:MaxPermSize=512m
Bazen setenv.bat dosyası tomcat altında bulunmayabiliyor. Bu nedenle manuel olarak yaratıp, edit modda içine gerekli kodu eklememiz gerekiyor.(mesela node++ da)
Yerini bilmeyenler için;
Tomcat ‘in bin dosyası altına atılmalıdır..
${tomcat-folder}\bin