- - PR -
JAVA スレッドダンプの取得方法
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2007-10-01 11:29
インギさん
>当初の方法で取得できていたということでしょうかね? >シャットダウンする必要はないと思います。 killした後にcatalina.outを見てもスレッドダンプが出力されません。。。 1〜2分ぐらい待ってみてもダメでした。 psで確認するといつまでもkillしたプロセスが残っているので tomcatをシャットダウンしてみたら出力されました。 その後、何回やってもtomcatをシャットダウンしないと出力されません。 当方の環境・設定がおかしいのでしょうか!? | ||||
|
投稿日時: 2007-10-01 12:48
kill -3 は SIGQUIT シグナルを送るものです。
これを受けても JVM は死にません。 スレッドダンプを吐いてそのまま処理を続行します。 #でないと複数回のスレッドダンプが取得できませんね シャットダウンしないとスレッドダンプが記録されないのは妙ですね。 通常は kill -3 を実行したタイミングで即座に記録されます。 | ||||
|
投稿日時: 2007-10-01 17:00
>シャットダウンしないとスレッドダンプが記録されないのは妙ですね。
>通常は kill -3 を実行したタイミングで即座に記録されます。 今後の障害時の対応も考え、正規!?の方法で スレッドダンプが出力できるように調べてみます。 この辺が気になっていますが設定した覚えはないんですよね。。。 ↓↓↓solarisの例↓↓↓ http://interstage.fujitsu.com/jp/technical/faq/apserver/v8/aps_jdk/faqmwpaps008.html ↓↓↓起動オプション↓↓↓ http://sdc.sun.co.jp/java/docs/j2se/1.4/ja/docs/ja/tooldocs/win32/java.html#options | ||||
|
投稿日時: 2007-10-01 21:15
良くは分かりませんが、どこかでバッファに溜まっていて、flush しないと見えないのではないでしょうか? たとえばですが、試しに kill -3 を何回も連続して送ったらバッファが満杯になってそのうち出力されそうな気もするのですが、どうでしょうか。 -- unibon {B73D0144-CD2A-11DA-8E06-0050DA15BC86} | ||||
|
投稿日時: 2007-10-06 00:52
unibonさん
>良くは分かりませんが、どこかでバッファに溜まっていて、flush しないと見えないのでは >ないでしょうか? >たとえばですが、試しに kill -3 を何回も連続して送ったらバッファが満杯になって >そのうち出力されそうな気もするのですが、どうでしょうか。 killを繰り返し実行しましたが、スレッドダンプは出力されませんでした。 引き続き調べてみます。 |