Buenos dias! Seguimos en "El lado oscuro de java" hoy vamos a ver un error que lanza el tomcat cuanto utilizamos algun proyecto web en general.
El error en si es el siguiente:
Exception in thread "http-8080-1" java.lang.OutOfMemoryError: PermGen space
mmm PERMGEN
Espacio PermGen
¿Y qué es el espacio PermGen? La memoria de la Máquina Virtual se divide en varias regiones. Una de estas regiones es el PermGen. Es un area de memoria utilizada para (entre otras cosas) cargar archivos class (y ojo que son clases y no objetos -o instancias de dichas clases-). El tamaño de esta región de memoria es fijo, esto es, no cambia mientras la VM se esté ejecutando. Podemos especificar el tamaño de esta región con un parámetro de línea de comandos: -XX:MaxPermSize=XXXm . El valor por defecto es 64 Mb en la VMs de Sun.
Si hay algún problema con las clases que son recolectadas como basura y continuamos cargando clases, la VM se quedará sin espacio en esta región de memoria, incluso si hay un montón de memoria disponible en el heap. Fijar el parámetro -Xmx no ayudará: este parámetro solo especifica el tamaño total del heap y no afecta al tamapo de la región PermGen.
Tomcat 6.0 tiene la posibilidad de configurar mediante parámetros la configuración de la pila dinámica de memoria.
Las opciones que puede establecer son :
- Tamaño inicial de la pila de Java : Parámetros -Xms
- Tamaño máximo de la pila de Java : Parámetro -Xmx
- Tamaño de la pila de proceso de Java ; Parámetro -Xss
- Tamaño Máximo Memoria Permanente : Parámetro : -XX:MaxPermSize
Un Ejemplo :
- Para establecer un tamaño inicial de 384Mb : -Xms384m
- Para establecer un tamaño máximo de 512Mb : -Xmx512m
- Para establecer Memoria Permanente 256Mb : -XX:MaxPermSize=256m
Solución (En eclipse)
Luego selecciona el tomcat que estamos utilizando y vamos a la solapa argumentos.
Luego selecciona el tomcat que estamos utilizando y vamos a la solapa argumentos.
Y finalmente debajo de los parámetros de configuración agregamos:
Debería quedar algo así.
Saludos!
Te resulto útil?
Link Relacionados:
Tomcat - Tomcat Log - PermGen space
Reviewed by El lado oscuro de java
on
abril 10, 2012
Rating:
Gracias :)
ResponderEliminar