- - PR -
JAVAのスレッドダンプをログに吐き出したい
1
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-08-29 18:33
こんにちは、
JAVA のスレッドダンプを取得するコマンドがあります。 ps -ef | grep java このコマンドで表示する結果をログに出力するコマンドが あったら教えてください。 よろしくお願いします。 | ||||
|
投稿日時: 2005-08-30 00:42
これってkill -QUITのことですよね? JVMプロセスがSIGQUITを受信すると、JVMが標準出力(エラーかも?)に スレッドダンプを出力するだけなので、アプリケーション自身、または JVMを起動するスクリプト等でファイルに出力するように切り替えて いない場合は無理かと思います。 | ||||
|
投稿日時: 2005-08-30 09:00
あしゅさん、ご回答ありがとうございます。
ほぼ自己レス状態ですが、 ps -ef | grep java でJAVAのスレッド一覧表示し、JAVA本体のpidをxxxとすると、 kill -3 xxx と入力すると <tomcat_home>/logs/catalina.out にダンプされることが分かりました。 最初の数行ですが、以下のような出力があります。 Full thread dump Java HotSpot(TM) Client VM (1.4.0_04-b04 mixed mode): "AWT-Shutdown" prio=1 tid=0x0x82cecd8 nid=0x4ad waiting on monitor [4e1ba000..4e1ba8ec] at java.lang.Object.wait(Native Method) - waiting on <0x44e801c8> (a java.lang.Object) at java.lang.Object.wait(Object.java:426) at sun.awt.AWTAutoShutdown.run(AWTAutoShutdown.java:259) - locked <0x44e801c8> (a java.lang.Object) at java.lang.Thread.run(Thread.java:536) 少し最初の質問とはずれますが、ダンプされた記録からdead lockがおきているか否かを判断するにはどうすればよいでしょうか?参考になるURL等ありましたら、教えてください。 |
1