tomcat - java_options - java_opts windows
¿Cómo configurar JAVA_OPTS para Tomcat en Windows? (7)
Estoy tratando de establecer JAVA_OPTS
para Tomcat en una máquina con Windows, pero me JAVA_OPTS
un error si agrego más de una variable.
Por ejemplo, esto funciona:
set JAVA_OPTS="-Xms512M"
Pero esto no lo hace:
set JAVA_OPTS="-Xms512M -Xmx1024M"
Da como resultado el error:
Invalid initial heap size: -Xms512M -Xmx1024M
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
Es como si pudiera establecer una variable (-Xmx también funcionará) pero no varias.
Estoy usando el archivo setenv.bat
y mi Tomcat es 7.0.35.
Aparentemente la forma correcta es sin el ""
Como en
set JAVA_OPTS=-Xms512M -Xmx1024M
Esto se debe a que la cantidad de memoria que desea asignar para JVM no está disponible o puede estar asignando más de la memoria disponible. Prueba el tamaño pequeño, entonces puedes ver la diferencia.
Tratar:
set JAVA_OPTS=-Xms128m -Xmx512m -XX:PermSize=128m
Me gusta una combinación de las respuestas de Gaurav y user2550946, pero me gustaría agregar dos aspectos más:
No use
JAVA_OPTS
, en su lugar useCATALINA_OPTS
. Esto se utilizará únicamente para iniciar Tomcat, no para apagarlo. Por lo general, se necesita más memoria cuando se inicia Tomcat, pero el proceso de apagado (que simplemente se acelera, le dice a Tomcat que se apague y luego termina de nuevo) no necesita ningún recurso específicamente optimizado. De hecho, el apagado puede incluso fallar si una cantidad ridícula de memoria ya no está disponible desde el sistema operativo.En sistemas de producción, mi recomendación es reclamar la memoria máxima permitida de inmediato. Porque si anticipa que la memoria será requerida tarde o temprano, no querrá descubrir que no está disponible a las 3 am de la noche, más bien cuando inicia el servidor. Por lo tanto, establezca
-Xmx
y-Xms
al mismo valor en los sistemas de producción. (Esto hace que mi aspecto 1 sea aún más relevante)
O, en una línea, aquí está mi recomendación:
set "CATALINA_OPTS=%CATALINA_OPTS% -Xms1024M -Xmx1024M"
Para Windows, en caso de que el valor de la variable tenga espacio (""), la forma correcta es colocar comillas (") antes del nombre de la variable como:
set "JAVA_OPTS=-Xms512M -Xmx1024M"
Se recomienda que cree un archivo llamado setenv.bat y lo coloque en el directorio bin de Tomcat. Con este archivo (que se ejecuta mediante los scripts catalina.bat y catalina.sh), puede cambiar la siguiente configuración del entorno Tomcat con la variable JAVA_OPTS:
Puede establecer el tamaño mínimo y máximo del almacenamiento dinámico de memoria con el
JVM -Xms y -Xmx parámetros .
Los mejores límites dependen de muchas condiciones, como las transformaciones que debe ejecutar Integrator ETL. Para las transformaciones de Information Discovery, se recomienda un máximo de 1 GB. Por ejemplo, para establecer el tamaño mínimo de almacenamiento dinámico en 128 MB y el tamaño máximo de almacenamiento dinámico en 1024 MB, use
JAVA_OPTS=-Xms128m -Xmx1024m
Debe establecer el límite máximo del espacio de memoria de PermGen (generación permanente) en un tamaño mayor que el predeterminado. El valor predeterminado de 64 MB no es suficiente para las aplicaciones empresariales. Un límite de memoria adecuado depende de varios criterios, pero 256 MB sería una buena opción en la mayoría de los casos. Si el espacio máximo de PermGen es demasiado bajo, OutOfMemoryError: pueden ocurrir errores de espacio de PermGen. Puede establecer el límite máximo de PermGen con el siguiente parámetro JVM
-XX:MaxPermSize=256m
Por motivos de rendimiento, se recomienda que la aplicación se ejecute en modo Servidor. Apache Tomcat no se ejecuta en modo Servidor por defecto. Puede configurar el modo Servidor usando el parámetro servidor JVM. Puede establecer el parámetro JVM en la variable JAVA_OPTS en la variable de entorno en el archivo setenv.
The following is an example of a setenv.bat file:
set "JAVA_OPTS=%JAVA_OPTS% -Xms128m -Xmx1024m -XX:MaxPermSize=256m -server"
Tratar
set JAVA_OPTS=%JAVA_OPTS% -Xms512M -Xmx1024M
SET JAVA_HOME=C:/Applications/java/java_8
SET PATH=%PATH%;C:/Applications/java/java_8/bin
SET JAVA_OPTIONS=-d64 -Xms128g -Xmx128g