2008-09-12 15 views

Respuesta

4

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

...

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

Otra posibilidad es introducir la secuencia de teclas ctrl < > \ en la ventana donde se inició el programa Java. el envío de este la señal instruye a un manejador de señal en la JVM, a recursivamente imprimir toda la información sobre los hilos y monitores dentro de la JVM ".

...

"Determinación de los Estados

Tema

Usted verá muchos hilos diferentes en muchos estados diferentes en una imagen del seguimiento de pila de JVM La clave utilizada es:.

R de reproducción o hilo runnable

S hilo suspendido

CW thread espera en una variable de condición

Tema

MW de espera en un monitor de bloqueo

MS Thread suspendido esperando un bloqueo de monitor"

1

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

0

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

1

Thread.getAllStackTraces() (desde Java 1.5)

1

Dos opciones:

OPCIÓN 1generar un volcado de hilo utilizando JMX Console

Con el fin de generar un volcado de hilo:

  1. Abra la JMXConsole (por ejemplo : http://localhost:8080)
  2. Navegue hasta jboss.system:type=ServerInfo mbean (sugerencia: probablemente puede simplemente presionar CTRL-F e ingresar type = ServerInfo en el cuadro de diálogo)
  3. Haga clic en el enlace para obtener información del servidor mbean.
  4. Vaya a la parte inferior donde dice listThreadDump
  5. clic en él y obtener su rosca volcado

Notas:

Si está utilizando Internet Explorer se debe utilizar File > Save As guardar la salida 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 2generar un volcado de hilo usando Twiddle

Alternativamente, puede utilizar twiddle para ejecutar el método listThreadDump() y el tubo del HTML devuelto directamente al archivo. Utilice esta línea de comandos:

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