Friday, January 6, 2012

Obtaining and analyzing thread dumps

Most of us run into bugs where tests "hang". Here are some nice tools and tips I found to obtain and analyze thread dumps. I am sure there may be other tools so if you know of some good ones feel free to add.

Jstack
jstack prints Java stack traces of Java threads for a given Java process or core file or a remote debug server. However jstack is not available for Windows platforms or on the Linux platform.

Stacktrace
Stacktrace has great features which include
1. Thread dump for Java processes running as a Windows service (like Tomcat, for example), started with javaw.exe or embedded inside another process.
2. Thread dump for any applet running inside any browser (Apple, IBM and Sun JDKs for Windows and Mac OS X). StackTrace is known to work with IE, Firefox, Safari and Mozilla.
and many other features..

I usually get the java process id using jps

Control Break/ kill options

On UNIX platforms you can send a signal to a program by using the kill command. This is the quit signal, which is handled by the JVM. For example, on Solaris you can use the command kill -QUIT process_id,
where process_id is the process number of your Java program.

Alternatively you can enter the key sequence \ in the window where the Java program was started. Sending this signal instructs a signal handler in the JVM, to recursively print out all the information on the threads
and monitors inside the JVM.
To generate a stack trace on Windows platforms, enter the key sequence in the window where the Java program is running, or click the Close button on the window.

Byron Nevins has also pointed in his blog how to obtain thread dumps in Glassfish.

TDA
This is a great utility I found for analyzing thread dumps.

I especially liked the ability to filter the threads display to be able to ignore e.g. idle threads.. Also as you can see in Fig 1 The three pane view is really helpful

tda.jpg Fig 1 : Using TDA to analyze thread dumps

2 comments:

  1. Four professors grasp awards escorts shanghai from pomp council for their distinguished contributions Ten physicians be struck by had advanced training far The distinguished faculty.

    ReplyDelete
  2. Like a huge candle which beijing escort is self-assured to vogue such as pitch pitch Do not throw progenitor between plates wheeled stress

    ReplyDelete