2012-05-16 17 views
5

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?

  1. un bloqueo del sistema que recupera al cabo de unos minutos - para investigar, necesitaremos el volcado de hilo (javacore).
  2. 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)

Respuesta

2

Su comprensión es coherente con todo lo que he leído.

Sin embargo, creo que puede lograr lo que desea utilizando wsadmin scripting. This article describes how to force javacores and heapdumps on a Windows platform donde kill -3 no está disponible, pero los mismos comandos se pueden ejecutar en cualquier sistema WebSphere.

Desde dentro de wsadmin o un script wsadmin, ejecute:

set jvm [$AdminControl completeObjectName type=JVM,process=server1,*]​ 
$AdminControl invoke $jvm generateHeapDump​ 
$AdminControl invoke $jvm dumpThreads​ 
+0

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

Cuestiones relacionadas