java - instalar - tomcat download




Lugar apropiado en catalina.bat para establecer JAVA_OPTS (4)

Al igual que otros, ya sugirió que debe usar JAVA_OPTS configurado en algo como: JAVA_OPTS="-XX:MaxPermSize=98m" . Esto, solo, probablemente resolverá los problemas, pero si estás redesplegando muchas veces y tu war / jar es enorme, también alcanzarás este límite de memoria.

Para este último escenario, algo normal en una máquina de prueba / desarrollo, recomiendo usar:

-XX:+CMSClassUnloadingEnabled -XX:+UseConcMarkSweepGC

Estas opciones permitirán la descarga de las clases no utilizadas.

Mira aquí más detalles, especialmente los comentarios.

Obtuve el siguiente error

"java.lang.OutOfMemoryError: PermGen space"

En mi archivo catalina.bat , ¿dónde está el lugar apropiado para ingresar el parámetro set JAVA_OPTS ? ¿Abajo del archivo o en cualquier otro lugar?


El lugar correcto es crear un nuevo archivo en el directorio Tomcat / bin junto con catalina.bat, llamado setenv.bat y colocar un set JAVA_OPTS=... allí.

En el sistema * nix sería setenv.sh

catalina.bat / catalina.sh se encarga de ejecutar setenv.bat / setenv.sh si existe. Esto se observa en la sección 3.4 aquí


Esto sucedió porque redesplegaste varias veces. Puede aumentar el espacio de su memoria perm, pero solo retrasará el inevitable error.

Simplemente tendrá que reiniciar su servidor. No estoy al tanto de una solución alternativa.


Lea esto: OutOfMemory Error y asegúrese de que su aplicación no tenga pérdida de memoria ni uso excesivo de memoria.

Para cambiar la configuración, cree un archivo llamado setenv.bat para windows o setenv.sh para Linux con la entrada siguiente:

Windows:

set JAVA_OPTS="-Xms256m -Xmx512m"

Linux:

export JAVA_OPTS="-Xms256m -Xmx512m"

Simplemente coloque este archivo (setenv.bat / setenv.sh) en la carpeta %CATALINA_HOME%\bin\ . Su archivo de comando ( catalina.bat/catalina.sh ) ya tiene una declaración como la siguiente:

Windows:

  if exist "%CATALINA_HOME%\bin\setenv.bat" call "%CATALINA_HOME%\bin\setenv.bat"

Linux:

  if [ -r "$CATALINA_BASE/bin/setenv.sh" ]; then
     . "$CATALINA_BASE/bin/setenv.sh"
  elif [ -r "$CATALINA_HOME/bin/setenv.sh" ]; then
     . "$CATALINA_HOME/bin/setenv.sh"
  fi

Esto se ocupará del resto.





tomcat