es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Cómo configurar los argumentos de VM para una instancia de Tomcat

Quiero añadir el argumento -XX:+HeapDumpOnOutOfMemoryError porque mi aplicación Java está sufriendo un error de Java heap space. Mi objetivo es obtener el heapdump cuando la aplicación falle y luego analizar el archivo con Eclipse MAT.

La aplicación Java se está ejecutando en un servidor linux al que solo tengo acceso a través de la terminal. Estoy usando Tomcat 9.

Según algunos tutoriales, la operación debería ser bastante simple:
1. localiza $CATALINAHOME
2. edita setenv.sh
3. agrega algo como: CATALINA
OPTS=”${CATALINA_OPTS} -Dparam=-XX:+HeapDumpOnOutOfMemoryError”
4. ¡reinicia Tomcat y listo!

Pero debido a que las estructuras de directorios siempre son diferentes, no puedo localizar esa carpeta catalina o tal vez simplemente no la tengo, ¿es eso posible?

Esto es lo que me trae ls en root:
[lista de directorios]

La aplicación Java (war) se ejecuta en var/lib/tomcat9/webapps

¡EDITAR: UN PROGRESO!

Bueno, creo que he encontrado la carpeta catalina home: /usr/share/tomcat9/ pero no hay archivos de configuración ni scripts. La ls -l da estos directorios:
[lista de directorios]

La aplicación ya debería tener unos pocos argumentos de VM, así que ¿pueden estar en otro lugar que no sea la carpeta catalina home o por qué no hay setenv.sh?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Según la información proporcionada, parece que la carpeta catalina no está presente en el directorio raíz. Es posible que la carpeta catalina se encuentre en el directorio /usr/share/tomcat9/.

    Es posible que la aplicación Java ya tenga algunos argumentos VM establecidos, y pueden estar ubicados en un archivo diferente al archivo setenv.sh. Para agregar el argumento -XX:+HeapDumpOnOutOfMemoryError, deberá ubicar el archivo que contenga los argumentos VM existentes y agregar el argumento a ese archivo. Una vez que se haya agregado el argumento, reinicie Tomcat y el argumento debería estar configurado.

Comments are closed.