java - ¿Cómo configuro correctamente el tamaño de permgen?
tomcat grails (4)
Tengo esta máquina virtual con tomcat, java y grails en ella. He estado recibiendo errores permgen, así que miré alrededor y encontré la solución:
set JAVA_OPTS="-Xms256m -Xmx1024m -XX:PermSize=512m -XX:MaxPermSize=512m"
Uso SSH para acceder a la vm y escribo los argumentos anteriores. Supongo que eso solucionaría el problema. La cosa es que quería asegurarme de que lo hice correctamente. Así que volví a buscar cómo podía verificar el tamaño actual de permSize y esta es la solución que obtuve:
jinfo -flag MaxPermSize 6444
6444 es el pid, y como respuesta, obtuve esto.
-XX:MaxPermSize=85983232
Pregunta: ¿El valor de maxPermSize en bytes? porque, si lo es, eso significaría que el comando java_opts no funcionó. Espero obtener 512m pero 85983232 bytes = 82 mb .. ¿O estoy viendo mal ...? ¿Alguien puede aclararme sobre esto? RE:
Completamente eliminado de java 8 +
Parcialmente eliminado de java 7 (cadenas internas, por ejemplo)
source
Debe cambiar los valores en la opción CATALINA_OPTS definida en el archivo de inicio de Tomcat Catalina. Para aumentar la memoria PermGen
, cambie el valor de la variable MaxPermSize
, de lo contrario cambie el valor de la variable Xmx
.
Sistema operativo Linux y Mac: abra o cree el archivo setenv.sh
ubicado en el directorio "bin". Tienes que aplicar los cambios a esta línea:
export CATALINA_OPTS="$CATALINA_OPTS -server -Xms256m -Xmx1024m -XX:PermSize=512m -XX:MaxPermSize=512m"
Windows:
Abra o cree el archivo setenv.bat
ubicado en el directorio "bin":
set CATALINA_OPTS=-server -Xms256m -Xmx1024m -XX:PermSize=512m -XX:MaxPermSize=512m
Entonces, estás haciendo lo correcto respecto a "-XX: MaxPermSize = 512m": de hecho es la sintaxis correcta. Podría tratar de establecer estas opciones directamente en los archivos del servidor Catalyna para que se utilicen en el inicio del servidor.
¡Quizás esta publicación te ayude!
¿Cómo puedo asegurarme de que Tomcat6 lea CATALINA_OPTS en Windows?
No coloque la configuración del entorno en catalina.bat / catalina.sh. En su lugar, debe crear un archivo nuevo en CATALINA_BASE / bin / setenv.bat para mantener sus personalizaciones separadas de la instalación de tomcat.