From http://time-complexity.blogspot.jp/2013/12/java-process-thread-dump.html From http://d.hatena.ne.jp/Kazuhira/20120623/1340459172
JDKのディレクトリのjpsコマンドを利用してJavaのプロセスを確認します。
JDKのディレクトリに移動します。
$ cd /usr/local/jdk/bin/
$ ./jps -lv
29840 sun.tools.jps.Jps -Dapplication.home=/usr/local/jdk -Xms8m
17546 org.apache.catalina.startup.Bootstrap -Djava.util.logging.config.file=/home/test/tomcat/conf/logging.properties -Xms2048m -Xmx2048m -XX:MaxPermSize=256m -Dfile.encoding=utf-8 -Dverbose:jni -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.endorsed.dirs=/home/test/tomcat/endorsed -Dcatalina.base=/home/test/tomcat -Dcatalina.home=/home/test/tomcat -Djava.io.tmpdir=/home/test/tomcat/temp
JDKのjstackコマンドを利用して、該当のプロセスのダンプを出力します。
$ ./jstack 17546 > /home/test/java_dump.log
$ vi /home/test/java_dump.log
Linuxのtopコマンドに「H」オプションつけることでThreadごとのリソース使用率の確認が出来ます。
$ top -H
top - 15:25:55 up 6 days, 21:35, 1 user, load average: 0.29, 0.24, 0.29
Tasks: 407 total, 1 running, 406 sleeping, 0 stopped, 0 zombie
Cpu(s): 9.4%us, 0.6%sy, 0.0%ni, 89.3%id, 0.4%wa, 0.0%hi, 0.4%si, 0.0%st
Mem: 3145728k total, 557468k used, 2588260k free, 0k buffers
Swap: 11719376k total, 712k used, 11718664k free, 1800000k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
16361 test 16 0 1652m 998m 24m S 59 24.7 1:35.09 java
15431 test 16 0 1652m 998m 24m S 8 24.7 12:19.77 java
15432 test 15 0 1652m 998m 24m S 1 24.7 12:14.28 java