TDA - Thread Dump Analyzer
TDA - Thread Dump Analyzer
Published September, 2008
Copyright © 2006-2008 Ingo Rockel <irockel@dev.java.net>
Table of Contents
1. General ................................................................................................................................................ 1
1.1. Request Thread Dumps ................................................................................................................ 2
1.2. Thread Dump Parsing .................................................................................................................. 2
1.3. Regular Expression For Time Stamps .............................................................................................. 6
1.4. Using Filters ............................................................................................................................... 7
1.5. Using Categories ......................................................................................................................... 8
1.6. Deadlocks ..................................................................................................................................8
1.7. Sessions ....................................................................................................................................9
1.8. Long Running Threads ................................................................................................................. 9
1.9. Heavy Load Analysis ................................................................................................................. 10
1.10. JConsole Plugin ...................................................................................................................... 10
1.11. VisualVM Plugin ..................................................................................................................... 11
2. Analyzing production environments ........................................................................................................ 13
2.1. Dumping Information about running threads ................................................................................... 13
2.2. Long running thread detection on Solaris ....................................................................................... 15
2.3. Analyzing the heap profile .......................................................................................................... 15
3. Application Analysis using JConsole ....................................................................................................... 16
3.1. Remote application access ........................................................................................................... 16
3.2. Requesting Dumps .................................................................................................................... 16
3.3. Plugins For JConsole ................................................................................................................. 16
A. References ......................................................................................................................................... 17
iii
List of Figures
1.1. Welcome Screen .................................................................................................................................1
1.2. Information about the selected dump ....................................................................................................... 3
1.3. Thread Dump View ............................................................................................................................. 4
1.4. Monitors used by threads ...................................................................................................................... 5
1.5. Class Histogram of selected dump .......................................................................................................... 6
1.6. A filter filtering jgroups threads ............................................................................................................. 7
1.7. A Custom Category ............................................................................................................................. 8
1.8. Long running threads detection ..............................................................................................................9
1.9. TDA JConsole Plugin ........................................................................................................................ 11
1.10. TDA VisualVM Plugin ..................................................................................................................... 12
2.1. TDA giving hints about selected dump .................................................................................................. 14
2.2. Long running threads detection ............................................................................................................ 15
iv
1
General
This chapter gives an introduction on how to use the TDA - Thread Dump Analyzer. TDA parses your log files and displays all
found thread dumps and class histograms reported from a Sun JVM 1.4.x or better, SAP VM or HP-UX VM. Class Histograms
are not included in the thread dumps by default but need a special JVM-Flag to be dumped with the thread dump (see below).
As TDA does everything offline and thread dumps have very low impact on the VM (including the class histogram option), it
can be used for production environments.
Figure 1.1. Welcome Screen
TDA can also be used as plugin in JConsole or VisualVM for requesting thread dumps from a remote virtual machine using
JMX. See JConsole Plugin for further information on using it as JConsole Plugin and see VisualVM Plugin for information
concerning VisualVM..
1