What is a thread dump?
Current snapshot of threads which are running in JVM.
By using jboss jmx-console
http://localhost:8080/jmx-console
and search "serverInfo" and click on that link Click invoke under listThreaddump
Which will give you current snapshot of threads which are running in JVM.
By using twiddle
go to <JBOSS-HOME>/bin
In windows -
twiddle.bat invoke "jboss.system:type=ServerInfo" listThreadDump > dump.html
dump.html will have your thread dump.In unix-based machines
/jboss/bin/twiddle.sh invoke "jboss.system:type=ServerInfo" listThreadDump > dump.html 2>&1
Using "Interrupt" signal - SIGQUITUse kill -3 <process-id> to generate thread dump. You will find the thread dumps in server logs.
Typically to know exact cause you need to take at least 2 to 3 thread dumps with 30 seconds gap, so that you will know what is the common thread which is waiting for long time.
Methods 1 and 2 are not available on JBoss AS 7. Do you have anothe solution than kill -3 to get a thread dump in that case ?
ReplyDeleteCan you try methods mentioned here - http://atgkid.blogspot.com/2011/12/how-to-take-thread-dumps-and-heap-dumps.html
DeleteFor 10.2, you can use /atg/dynamo/service/ThreadDumpService on dyn/admin to get thread dumps on debug log, provided the performance of your instance is accepting a new HTTP session
ReplyDelete- Dhaya