at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:731)
at java.lang.Thread.run(Thread.java:595)
"Low Memory Detector" daemon prio=10 tid=0x001e64e8 nid=0x19 runnable [0x00000000..0x00000000]
"CompilerThread1" daemon prio=10 tid=0x001e5388 nid=0x18 waiting on condition [0x00000000..0xb72fed2c]
"CompilerThread0" daemon prio=10 tid=0x001e4510 nid=0x17 waiting on condition [0x00000000..0xb73febac]
"AdapterThread" daemon prio=10 tid=0x001e3698 nid=0x16 waiting on condition [0x00000000..0x00000000]
"Signal Dispatcher" daemon prio=10 tid=0x001e2928 nid=0x15 waiting on condition [0x00000000..0x00000000]
"Finalizer" daemon prio=10 tid=0x001d6078 nid=0x14 in Object.wait() [0xfdf6f000..0xfdf6fa70]
at java.lang.Object.wait(Native Method)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:116)
- locked <0xc9e89940> (a java.lang.ref.ReferenceQueue$Lock)
at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:132)
at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)
"Reference Handler" daemon prio=10 tid=0x001d5b20 nid=0x13 in Object.wait() [0xfe04f000..0xfe04f8f0]
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:474)
at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
- locked <0xc9e90860> (a java.lang.ref.Reference$Lock)
"VM Thread" prio=10 tid=0x001d3a40 nid=0x12 runnable
"GC task thread#0 (ParallelGC)" prio=10 tid=0x000d8608 nid=0x2 runnable
The output consists of a header and a stack trace for each thread. Each thread is
separated by an empty line. The Java threads (threads that are capable of executing
Java language code) are printed first. These are followed by information on VM
internal threads.
The header line contains the following information about the thread:
v Thread Name indicates if the thread is a daemon thread
v Thread Priority (Prio)
v Thread ID (TID) is the address of a thread structure in memory
v ID of the native thread (NID)
v Thread State indicates what the thread was doing at the time of the thread
dump
v Address range gives an estimate of the valid stack region for the thread
The following table lists the possible thread states that can be printed:
Thread State Definition
NEW The thread has not yet started.
RUNNABLE The thread is executing in the JVM.
BLOCKED The thread is blocked, waiting for a monitor lock.
WAITING The thread is waiting indefinitely for another thread to perform
a particular action.
TIMED_WAITING The thread is waiting for another thread to perform an action
for up to a specified waiting time.
TERMINATED The thread has exited.
Note: The thread header is followed by the thread stack.
Performing a Thread Dump
About this task
To perform a thread dump in UNIX (Solaris and HP-UX):
Performance Management 71