ANTECEDENTES: Tengo un proyecto web que utiliza JSP. El IDE es Eclipse. La configuración de tomcat es: Publicar automáticamente cuando los recursos cambian y el intervalo de publicación es "1 segundo".qué hacer con tomcat PermGen espacio
Archivo de propiedades en la carpeta de clases que solía guardar algunas configuraciones. También puede ser modificado dinámicamente por el servlet. La operación de modificación se inicia mediante el botón guardar en el JSP.
PROBLEMA: Después de varias operaciones de guardado, Tomcat viene con java.lang.OutOfMemoryError: PermGen space
.
registro de mensajes
java.lang.OutOfMemoryError: PermGen space
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1815)
at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:872)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1325)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204)
at org.apache.catalina.startup.WebAnnotationSet.loadApplicationServletAnnotations(WebAnnotationSet.java:108)
at org.apache.catalina.startup.WebAnnotationSet.loadApplicationAnnotations(WebAnnotationSet.java:58)
at org.apache.catalina.startup.ContextConfig.applicationAnnotationsConfig(ContextConfig.java:297)
at org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:1064)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:261)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4238)
at org.apache.catalina.core.StandardContext.reload(StandardContext.java:3083)
at org.apache.catalina.loader.WebappLoader.backgroundProcess(WebappLoader.java:404)
at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1279)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1571)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1580)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1580)
at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1560)
at java.lang.Thread.run(Thread.java:662)
duplicado potencial. http://stackoverflow.com/questions/88235/how-to-deal-with-java-lang-outofmemoryerror-permgen-space-error – Phani
Recibo este error con Tomcat cuando las personas vuelven a desplegar una aplicación web repetidamente, sin reiniciar Tomcat . Debido a una fuga asociada con el proceso de carga de clases, el espacio permgen se llena un poco más con cada redistribución. Aumentar el tamaño de permgen retrasará el punto en el que se queda sin memoria, pero en realidad, debe asegurarse de que Tomcat se recupere cuando vuelva a implementar una aplicación web. – Jon
Consulte el artículo a continuación que explica completamente la configuración de tomcat para aumentar permGen [Tomcat PermGen Space] (http://www.mkyong.com/tomcat/tomcat-javalangoutofmemoryerror-permgen-space/) – Phani