Tenemos una aplicación que se implementa en un servidor WebSphere que se ejecutan en UNIX, y estamos experimentando dos cuestiones:¿Es posible elegir si se genera un volcado dinámico o no sobre la marcha?
- un bloqueo del sistema que recupera al cabo de unos minutos - para investigar, necesitaremos el volcado de hilo (javacore).
- un bloqueo del sistema que no se recupera y requiere reinicio de WebSphere: para investigar, necesitaremos el volcado de subprocesos y el volcado de pila.
El problema es: cuando un bloqueo del sistema se produce, no sabemos si es el número 1 ó 2.
Idealmente nos gustaría generar manualmente el volcado de hilo en primer lugar, y esperar a ver si el el sistema se recupera De lo contrario, generamos el volcado de hebras y el volcado de heap, antes de reiniciar WebSphere.
Conozco el comando kill -3
(o kill -QUIT
). El comando generaría solo volcado de hilo (si el parámetro IBM_HEAPDUMP=false
), o volcado de hilo y volcado de montón (si es IBM_HEAPDUMP=true
). Sin embargo, IBM_HEAPDUMP
debe establecerse antes de que se inicie WebSphere y no se puede cambiar mientras se está ejecutando WebSphere.
¿Es correcto mi entendimiento con respecto al parámetro IBM_HEAPDUMP
y el comando kill -3
?
Además, ¿es posible obtener los registros de la manera que describí? (es decir, al generar diagnósticos de JVM, elija si desea generar un volcado dinámico o no al vuelo)
Muchas gracias. Después de leer su respuesta, también encontré este enlace sobre la generación de volcados de heap de WebSphere: http://www-01.ibm.com/support/docview.wss?uid=swg21384926. Contiene explicaciones más detalladas. – Andy