Kill -3を使用したJavaスレッドダンプ

Kill -3を使用したJavaスレッドダンプ

スレッドダンプを取得するには、次の方法を使用したことがあります。

kill -3 `pidof java`

catalina.out代わりにこの出力をファイルに保存する方法catalina.out通常、killコマンドはstdoutまたはstderrに出力しないため、スクリプトをログにリダイレクトしたり、execを使用してこれを実行することはできません。それを取得し始めましたが、それを行う方法はありますか?

答え1

を使用したい場合がありますjstack $(pidof java) > MYFILE

答え2

このツールは Java バージョン 7 以降で使用できjcmd、Oracle が推奨するオプションです。などjcmdの複数の診断ツールの機能を集計します。jstackjmap

次のjcmdコマンドを実行して、PID 1234のプロセスのスレッドダンプを取得できます(出力がファイルにリダイレクトされます)。

jcmd 1234 Thread.print > thread-dump.txt

詳しくはこちらをご覧ください。jcmdユーティリティjcmd のマニュアルページ

関連情報