thread log full java multithreading dump

java - log - ¿Cómo se genera y analiza un volcado de hilo desde una instancia de JBoss en ejecución?



thread dump analyzer (7)

http://java.sun.com/developer/technicalArticles/Programming/Stacktrace/

...

"En plataformas UNIX puede enviar una señal a un programa utilizando el comando kill. Esta es la señal de salida, que es manejada por la JVM. Por ejemplo, en Solaris puede usar el comando kill -QUIT process_id, donde process_id es el número de proceso de su programa Java.

Alternativamente, puede ingresar la secuencia de teclas <ctrl> / en la ventana donde se inició el programa Java. El envío de esta señal instruye a un manejador de señal en la JVM, para imprimir recursivamente toda la información en los hilos y monitores dentro de la JVM. "

...

"Determinando los Estados del hilo

Verá muchos subprocesos diferentes en muchos estados diferentes en una instantánea de un rastreo de pila de JVM. La clave utilizada es:

R Ejecución o hilo ejecutable

S Hilo suspendido

Hilo de CW esperando en una variable de condición

MW Thread esperando en un bloqueo de monitor

MS Tema suspendido esperando en un bloqueo de monitor "

¿Cómo se genera y analiza un volcado de hilo desde una instancia de JBoss en ejecución?


La aplicación stacktrace que se encuentra aquí también es útil, especialmente en máquinas con Windows cuando la aplicación java no se inicia desde la línea de comandos.


A veces, JBoss bloquea tanto que incluso el jmx-concole no responde. En tal caso, use kill -3 en Linux y SendSignal en Windows.



Thread.getAllStackTraces () (desde Java 1.5)


Dos opciones:

OPCIÓN 1 Generar un volcado de hilo utilizando la consola JMX

Para generar un volcado de hilo:

  1. Abra la JMXConsole (por ejemplo: http://localhost:8080 )
  2. Navegue a jboss.system:type=ServerInfo mbean ( sugerencia: probablemente solo jboss.system:type=ServerInfo presionar CTRL-F e ingresar type = ServerInfo en el cuadro de diálogo)
  3. Haga clic en el enlace de la Información del servidor mbean.
  4. Navega hasta el final donde dice listThreadDump
  5. Haga clic en él y obtenga su volcado de hilo

Notas:

Si usa Internet Explorer, debe usar File > Save As para guardar el resultado en lugar de copiar los datos a un editor de texto. Por alguna razón, cuando copia el texto de Internet Explorer, los saltos de línea no se copian y toda la salida termina en una sola línea.

OPCIÓN 2 Generar un volcado de subprocesos usando Twiddle

Alternativamente, puede usar twiddle para ejecutar el método listThreadDump() y canalizar el HTML devuelto directamente al archivo. Usa esta línea de comando:

<JBOSS_HOME>/bin/twiddle invoke "jboss.system:type=ServerInfo" listThreadDump > threads.html