Aumentar el espacio permgen

Respuestas:

142

Puedes usar :

-XX:MaxPermSize=128m

para aumentar el espacio. Pero esto generalmente solo pospone lo inevitable.

También puede habilitar la recolección de basura en PermGen

-XX:+UseConcMarkSweepGC -XX:+CMSPermGenSweepingEnabled -XX:+CMSClassUnloadingEnabled

Por lo general, esto ocurre cuando se realizan muchas redespliegue. Me sorprende que lo tenga usando algo como indexación. Use virtualvm o jconsole para monitorear el espacio de generación de Perm y verifique que se nivele después de calentar la indexación.

Quizás debería considerar cambiar a otra JVM como IBM JVM. No tiene una generación permanente y es inmune a este problema.

Peter Tillemans
fuente
¡¡Gracias!! ¿Pero dónde debo anotarlo? Supongo que de una sola vez aquí: tomcat / conf ¿Me equivoco?
Blanca
1
Para tomcat puede crear una variable de entorno CATALINA_OPTS con el valor de estas opciones concatenadas. El script de inicio los agregará a la línea de comandos de Java antes de iniciar tomcat. Esto no se puede hacer desde la configuración de Tomcat ya que la JVM ya está configurada en ese punto.
Peter Tillemans
2
Si es FreeBSD, agregue las opciones al archivo /etc/rc.conf. Primero lea el script de inicio de tomcat para ver el parámetro exacto que buscará.
Brian Knoblauch
3
En OpenJDK 7, CMSPermGenSweepingEnabled está obsoleto en favor de CMSClassUnloadingEnabled
Petr Gladkikh
12

Para tomcat, puede aumentar el espacio de permGem usando

 -XX:MaxPermSize=128m

Para esto, necesita crear (si aún no existe) un archivo llamado setenv.sh en la carpeta tomcat / bin e incluir la siguiente línea en él

   export JAVA_OPTS="-XX:MaxPermSize=128m"

Referencia: http://wiki.razuna.com/display/ecp/Adjusting+Memory+Settings+for+Tomcat

Paroksh Saxena
fuente
1
export JAVA_OPTS="-XX:MaxPermSize=128m"funcionó para mí con Clojure + lein repl
Jeff
3

También puede aumentarlo a través de los argumentos de VM en su IDE. En mi caso, estoy usando Tomcat v7.0 que se ejecuta en Eclipse. Para hacer esto, haga doble clic en su servidor (Tomcat v7.0). Haga clic en el enlace 'Abrir configuración de lanzamiento'. Vaya a la pestaña 'Argumentos'. Agregue -XX: MaxPermSize = 512m a la lista de argumentos de la VM. Haga clic en 'Aplicar' y luego en 'Aceptar'. Reinicie su servidor.

usuario3375152
fuente
3

Si descubrió que la configuración de la memoria no se estaba utilizando y para cambiar la configuración de la memoria, utilicé tomcat7w o tomcat8w en la carpeta \ bin. Entonces debería aparecer lo siguiente:

monitor de tomcat

Haga clic en la pestaña Java y agregue los argumentos.restart tomcat

Kevin STS
fuente
@ Jérémie BI no tiene suficiente reputación para agregar una imagen directamente.
Kevin STS
0

En distribuciones similares a Debian, lo establece en /etc/default/tomcat[67]

der_do
fuente