Javaのスレッドダンプを取得する

  • 62
    Like
  • 2
    Comment
More than 1 year has passed since last update.

こっちが最新版
Javaのスレッドダンプ、ヒープダンプの取り方 - Qiita [キータ]

1. JavaのプロセスIDを確認
$ ps aux | grep java

PIDがわかれば良いのでpsのオプションはお好みで…
と思ってましたが、コメントでもっと簡単な方法を教えていただきました

$ $JAVA_HOME/bin/jps
27046 Application
26616 Jps
2. スレッドダンプ取得
$ $JAVA_HOME/bin/jstack 27046 > threaddump.txt

おまけ

以前はjstackを知らず、kill -3でやっていた時代もありました。
アプリのログがすべてcatalina.outに出ていたので

$ cp catalina.out{,.tmp}
$ kill -3 [PID]
$ diff catalina.out{,.tmp} > threaddump.txt

めんどくさいですね!