solucion outofmemoryerror maxpermsize java permgen

maxpermsize - java.lang.outofmemoryerror: permgen space tomcat



¿Qué significa PermGen en realidad? (7)

En realidad, no está relacionado con la pregunta original, pero puede ser que alguien lo encuentre útil. PermGen es de hecho un área en la memoria donde Java solía mantener sus clases. Por lo tanto, muchos de nosotros hemos encontrado OOM en PermGen, si hubiera, por ejemplo, muchas clases.

Desde Java 8, el área PermGen ha sido reemplazada por el área MetaSpace, que es más eficiente y ilimitada por defecto (o más precisamente, limitada por la cantidad de memoria nativa, dependiendo de la disponibilidad de memoria virtual de 32 o 64 bits y OS). Sin embargo, es posible sintonizarlo de alguna manera, por ejemplo, especificando un límite máximo para el área. Puede encontrar más información útil en esta publicación de blog .

Sé lo que es PermGen, para qué se utiliza, por qué falla, cómo aumentarlo, etc.

Lo que no sé es qué es lo que realmente defiende PermGen. Permanente ... Gen ... ¿algo?

¿Alguien sabe lo que PermGen realmente representa?


Generación permanente. Consulte la guía de ajuste de GC de java para obtener más detalles sobre el recolector de basura.


Generación permanente. Los detalles son, por supuesto, implementación específica.

En resumen, contiene los objetos de Java asociados con las clases y cadenas internas. En la implementación del cliente de Sun con el uso compartido, classes.jsa está mapeada en la memoria para formar los datos iniciales, con aproximadamente la mitad de solo lectura y la mitad de copia en escritura.

Los objetos Java que son meramente antiguos se guardan en la Generación sostenida.


PermGen es utilizado por la JVM para mantener clases cargadas. Puedes aumentarlo usando:

-XX:MaxPermSize=384m

si está utilizando Sun JVM o OpenJDK.

Entonces, si obtienes una excepción OutOfMemoryException: PermGen, necesitas agrandar PermGen o podrías tener problemas con el cargador de clases.



Si no recuerdo mal, el gen significa generación, como en un recolector de basura generacional (que trata los objetos más jóvenes de forma diferente a los objetos de vida media y "permanentes"). El principio de localidad sugiere que los objetos recientemente creados serán aniquilados primero.