0

We are facing an issue where our application hangs and we need to restart the application.

Here is the thread dump for that. I want to understand how we can analyse the thread dump, I mean is there any way we can reach to code where the issue is there.

2013-04-12 13:05:07
Full thread dump Java HotSpot(TM) Client VM (19.1-b02 mixed mode):

"Low Memory Detector" daemon prio=6 tid=0x00d6d800 nid=0xebc runnable [0x00000000]
   java.lang.Thread.State: RUNNABLE

"CompilerThread0" daemon prio=10 tid=0x00d60c00 nid=0x1b50 waiting on condition [0x00000000]
   java.lang.Thread.State: RUNNABLE

"Attach Listener" daemon prio=10 tid=0x00d5dc00 nid=0x16c8 waiting on condition [0x00000000]
   java.lang.Thread.State: RUNNABLE

"Signal Dispatcher" daemon prio=10 tid=0x00d5a800 nid=0xd1c runnable [0x00000000]
   java.lang.Thread.State: RUNNABLE

"Finalizer" daemon prio=8 tid=0x00ceec00 nid=0x1148 in Object.wait() [0x1750f000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x03221158> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:118)
    - locked <0x03221158> (a java.lang.ref.ReferenceQueue$Lock)
    at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:134)
    at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:159)

"Reference Handler" daemon prio=10 tid=0x00ced800 nid=0xff8 in Object.wait() [0x1747f000]
   java.lang.Thread.State: WAITING (on object monitor)
    at java.lang.Object.wait(Native Method)
    - waiting on <0x03221058> (a java.lang.ref.Reference$Lock)
    at java.lang.Object.wait(Object.java:485)
    at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:116)
    - locked <0x03221058> (a java.lang.ref.Reference$Lock)

"main" prio=6 tid=0x00ca2800 nid=0x1154 runnable [0x00000000]
   java.lang.Thread.State: RUNNABLE

"VM Thread" prio=10 tid=0x00cf8400 nid=0x798 runnable 

"VM Periodic Task Thread" prio=10 tid=0x00d89000 nid=0xc64 waiting on condition 

JNI global references: 924
Abhishek
  • 519
  • 1
  • 6
  • 24

1 Answers1

-3

The thread dump is written to the system out of the VM on which you executed the kill -3. If you are redirecting the console output of the JVM to a file, the thread dump will be in that file. If the JVM is running in an open console, then the thread dump will be displayed in its console, view the complete demo here with lab exercise