uCosminexus Application Server, Maintenance and Migration Guide

[Contents][Glossary][Index][Back][Next]

7.7.9 Investigation about the location of the problem associated to the trace based performance analysis file and thread dump

If slow down or hang-up occurs in a J2EE application or batch application, you can investigate the location of the error by correlating the trace based performance analysis file with the thread dump.

Use the thread ID that is output to the trace based performance analysis file and nativeID (thread IDs of the OS level) of the thread information output to the thread dump, for correlating the trace based performance analysis file with the thread dump. This subsection describes how to identify the corresponding thread dump from the trace based performance analysis file.

The following are the steps to identify the corresponding thread dump from the trace based performance analysis file:

  1. Collect the trace based performance analysis file and thread dump.
    For details on the collection methods of trace based performance analysis file, see 7.3.1 How to collect a trace based performance analysis file. For details on the collection method of thread dump, see 4.7 JavaVM thread dump.
  2. Select the trace based performance analysis file and thread dump to be used.
    Select the trace based performance analysis file and thread dump to be used, based on the date and time when the trace based performance analysis file and thread dump are output. For details on the output time, see the following information:
    Trace based performance analysis file
    Time and Time(msec/usec/nsec)
    The following figure shows the Time and Time (msec/usec/nsec) of the trace based performance analysis file.
    [Figure]
    Thread dump
    Date and time output at the end of the file name and file.
    The following is an example showing the date and time output at the end of a file:
     ...
     ...
    Full thread dump completed. Fri Jul 21 19:22:47 2006
     
  3. Convert the value of Thread (hash code), corresponding to the event ID of the trace based performance analysis file that you want to investigate, in to a hexadecimal number.
    • In Windows, AIX, HP-UX, or Solaris
      Change the value of the thread (thread ID) from decimal numbers to hexadecimal numbers.

      [Figure]

    • In Linux
      Change the value of the hashcode (hash code) from decimal numbers to hexadecimal numbers.

      [Figure]

  4. Specify the thread information corresponding to the thread matching to the value of Thread (hashcode) that is converted into a hexadecimal number in step 3.
    • In Windows, AIX, HP-UX, or Solaris
      The thread dump nid searches for the thread that matches with the value (1124) of the Thread (Thread ID) that is converted into hexadecimal numbers.
       ...
       ...
      "VBJ ThreadPool Worker" daemon prio=5 jid=0x00054f93 tid=0x04cef380 nid=0x1124 in Object.wait() [0x0632f000..0x0632fd18]
       stack=[0x06330000..0x062f5000..0x062f1000..0x062f0000] 
       [user cpu time=0ms, kernel cpu time=15ms] [blocked count=1, waited count=29]
      at java.lang.Object.wait(Native Method)
       ...
       ...
    • In Linux
      The thread dump jid searches for the thread that matches with the value (6d75) of hashcode (hash code) that is converted into hexadecimal numbers.
       ...
       ...
      "main" prio=1 jid=0x00006d75 tid=0x00201d70 nid=0x1e51 waiting on condition [0x00000000..0xbfe80488]
       stack=[0xbfe87000..0xbfc8c000..0xbfc88000..0xbfc87000] 
       [user cpu time=1320ms, kernel cpu time=4280ms] [blocked count=5, waited count=4]
       ...
       ...