28

Is there away to take a thread dump from Tomcat? I would like to monitor the threads running in Tomcat at a certain point in time.

Note: I was doing that on Web logic but i don't know how it can be done on Tomcat.

Vlad L
  • 1,544
  • 3
  • 6
  • 20
Abdullah
  • 401
  • 2
  • 7
  • 15

5 Answers5

41

If you use Linux, you can send a kill -3 [pid of your tomcat] and it will dump all current threads in the catalina.out.

Julien
  • 2,544
  • 1
  • 20
  • 25
9

There is a simple way to monitor tomcat threads and do a dump. Start tomcat with the folowing java options :

-Dcom.sun.management.jmxremote.port=<some free port>
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false

After the tomcat is restarted you can simply start jconsole (part of jdk) or visualvm and create a new jmx connection to the port you have chosen above.
In both tools you also have an option to take a dump ;)

!!!But do that only in closed/secured environment - since there is no authentication set.!!!

Patrik Bego
  • 4,009
  • 1
  • 26
  • 24
5

add java melody to your server https://code.google.com/p/javamelody/

it give you a lot of info including threads in runtime

olexii
  • 333
  • 1
  • 8
2

The following steps should help you get the current Java threads running and analyze them:

  1. Download IBM JCA which is a nice thread dump analyzer from IBM Thread & Dump Monitor Analyzer
  2. Execute the following to get the Tomcat threads dump: root@localhost:~# sudo -u $TOMCAT_USER $JAVA_HOME/bin/jstack -J-d64 -l $(ps aux | grep '[c]atalina' | awk '{print $2}') > ~/threads.log
  3. Open the threads dump with IBM Thread & Dump Monitor Analyzer

Note: Replace $JAVA_HOME with your path to your current JDK, $TOMCAT_USER with the user running Tomcat; if you pass the wrong user or even using root you will get an error like this:

3047: well-known file is not secure
Guido Medina
  • 416
  • 4
  • 8
0

Please try netbeans profiler to profile any web applications.

https://profiler.netbeans.org/

http://wiki.netbeans.org/FaqProfilerAttachRemoteServer

Prabhakaran Ramaswamy
  • 25,706
  • 10
  • 57
  • 64