Analytics and Automation Software : Cisco Tidal Enterprise Scheduler

Planificador de trabajos de marea de la empresa: Consiga un volcado del stack de las Javas usando el “jstack”

18 Octubre 2015 - Traducción Automática
Otras Versiones: PDFpdf | Inglés (22 Agosto 2015) | Comentarios


Contenido


Introducción

Este documento describe cómo conseguir un volcado del stack de las Javas usando el comando del jstack de las Javas. Este proceso es válido en Windows, Linux, y UNIX, y cualquier sistema de marea usando la versión de Java 1.6+ de Sun del Oracle.

prerrequisitos

Requisitos

Cisco recomienda que usted tiene el conocimiento de las Javas y el conocimiento del sistema operativo en el cual la Java se ejecuta. También, la versión 1.6+ de las Javas JDK (Java Development Kit) necesitará ser instalada en el sistema.

Componentes Utilizados

  • Javas JRE 1.6+ de Sun

  • Javas JDK 1.6+ de Sun

Convenciones

Consulte Convenciones de Consejos TécnicosCisco para obtener más información sobre las convenciones del documento.

Problema

De vez en cuando, necesidades del soporte de capturar los datos de bajo nivel del hilo que no está en los registros principales.

Solución

Para capturar un volcado del stack de las Javas usando la herramienta del jstack proporcionada por el Oracle Sun, complete estos pasos.

Nota: El proceso de las Javas debe ejecutar las Javas 1.6+ de Sun para funcionar con el comando del jstack, y el JDK se debe instalar en el sistema. Descargue el Oracle Sun JDK aquíleavingcisco.com .

  1. Encuentre el número de identificación de proceso en la máquina que funciona con el proceso de las Javas.

    • En una máquina de Windows, usted puede utilizar al administrador de tareas para encontrar el número de identificación de proceso.

      http://www.cisco.com/c/dam/en/us/support/docs/cloud-systems-management/tidal-enterprise-scheduler/113122-java-stack-dump-using-jstack-01.gif

      Específicamente, el PID es el número de identificación de proceso. Si usted no ve esta columna, visión selecta > las columnas >PID (identificador de proceso) para agregarla.

    • En UNIX/Linux, usted puede publicar el ps - ef | comando de UnixMaster del grep para conseguir el identificador de proceso:

      root@sunts06:/# ps -ef | grep UnixMaster
        root 5452 5423 0 14:43:21 pts/14 0:00 grep UnixMaster
        root 1868    1 0   Jun 09 ?     31:49 /usr/bin/java -DN=UnixMaster -DTI
      DAL_HOME=/opt/TIDAL/master/bin/.. -Xms256m -Xm
      root@sunts06:/#
  2. Una vez que usted tiene el número de identificación de proceso que usted necesita, que va al directorio BIN donde el Sun JDK está instalado y publique el comando where del jstack {PID} {PID} es el número de identificación de proceso. Esto imprimirá la información del stack de las Javas a la pantalla.

    C:\Program Files\Java\jdk1.6.0_25\bin>jstack 3724
    2011-06-30 20:07:37
    Full thread dump Java HotSpot(TM) 64-Bit Server VM (20.0-b11 mixed mode):
    
    "Swing-Shell" daemon prio=6 tid=0x0000000006cce800 nid=0x1bd8 waiting on conditi
    on [0x000000000843f000]
       java.lang.Thread.State:WAITING (parking)
            at sun.misc.Unsafe.park(Native Method)
            - parking to wait for  <0x00000000fb38ace8> (a java.util.concurrent.lock
    s.AbstractQueuedSynchronizer$ConditionObject)
            at java.util.concurrent.locks.LockSupport.park(Unknown Source)
            at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject
    .await(Unknown Source)
            at java.util.concurrent.LinkedBlockingQueue.take(Unknown Source)
            at java.util.concurrent.ThreadPoolExecuter.getTask(Unknown Source)
            at java.util.concurrent.ThreadPoolExecuter$Worker.run(Unknown Source)
            at sun.awt.shell.Win32ShellFolderManager2$ComInvoker$3.run(Unknown 
    Source)
            at java.lang.Thread.run(Unknown Source)
    
    "Thread-2" prio=6 tid=0x0000000006cd0800 nid=0xe6c waiting on condition [0x00000
    0000833f000]
       java.lang.Thread.State: TIMED_WAITING (sleeping)
            at java.lang.Thread.sleep(Native Method)
  3. Para reorientar la información del stack a un archivo, publique el mismo comando con la opción de la creación del archivo que funcionará en Windows y Linux/UNIX:

    jstack {PID} > [filename.out]
    

Discusiones relacionadas de la comunidad de soporte de Cisco

La Comunidad de Soporte de Cisco es un foro donde usted puede preguntar y responder, ofrecer sugerencias y colaborar con colegas.


Información Relacionada


Document ID: 113122