Carlita

Just another Blog de ESPOL weblog

java.lang.OutOfMemoryError: PermGen space

septiembre18

El mensaje es un síntoma de un «barrido de recolección de basura incompleta, donde los recursos no están debidamente puesto en libertad tras descargar / reiniciar. Se acusa a CGLIB, Hibernate, Tomcat, y aun JVM de Sun.

Si detiene una aplicación web conteniendo hibernate en tomcat, no toda la memoria es liberada. Los modelos de objetos son aún mantenidos en memoria por cglib. Esto conduce a un error OutOfMemory después de varias recargas.  http://opensource.atlassian.com/projects/hibernate/browse/HHH-851

El valor por defecto del espacio PermGen es de 64 Mb en la máquina virtual (VM) de Sun. Este valor es suficiente normalmente para las aplicaciones que corren de forma independiente. En el caso de una aplicación que corra en un servidor web tipo Tomcat o un servidor de aplicaciones, hay casos en los que este valor no es suficiente.

En primer lugar, es posible que la aplicación necesite más espacio por su propia arquitectura. Las librerías Spring e Hibernate son librerías grandes, que cargan muchas clases y además hacen uso de proxies y carga dinámica de clases que hacen uso del espacio PermGen por lo que puede que los 64Mb no sean suficientes. Este caso se da cuando la excepción con el error se produce nada mas arrancar el servidor web o de aplicaciones o al acceder a la aplicación. Para solventar este problema bastará con aumentar el tamaño máximo de la memoria de tipo PermGen según veremos más adelante.encuentra con el problema.

Sin embargo, en general, si usted está experimentando este error, modificando su asignación de memoria (ajustando el tamaño de su PermGen) sólo va a alterar la frecuencia con que se

If you stop a web application containing hibernate in tomcat, not the whole memory is released. The model objects are still kept in memory by cglib. This leads to a OutOfMemory Error after several reloads.

Fuentes:

http://www.jroller.com/agileanswers/entry/preventing_java_s_java_lang

http://www.programacionenjava.com/blog/2008/03/28/j2ee/causas-y-solucion-de-javalangoutofmemoryerror-permgen-space-failure/

véase también Foro: http://forums.sun.com/thread.jspa?threadID=661841&messageID=3880883

posted under Grupo DAW

Email will not be published

Website example

Your Comment: