UNIX上で実行されているWebSphereサーバーにデプロイされたアプリケーションがあり、2つの問題が発生しています。
- 数分後に回復するシステムハング-調査するには、スレッドダンプ(javacore)が必要になります。
- システムがハングし、回復せず、WebSphereを再起動する必要があります。調査するには、スレッドダンプとヒープダンプが必要になります。
問題は、システムハングが発生したときに、それが問題1か2かがわからないことです。
理想的には、最初に手動でスレッドダンプを生成し、システムが回復するかどうかを確認するのを待ちます。そうでない場合は、WebSphereを再始動する前に、スレッド・ダンプとヒープ・ダンプを生成します。
kill -3
(またはkill -QUIT
)コマンドについて知っています。このコマンドは、スレッドダンプのみ(パラメーターの場合IBM_HEAPDUMP=false
)、またはスレッドダンプとヒープダンプ(の場合IBM_HEAPDUMP=true
)を生成します。ただし、IBM_HEAPDUMP
WebSphereを開始する前に設定する必要があり、WebSphereの実行中に変更することはできません。
IBM_HEAPDUMP
パラメータとkill -3
コマンドに関して、私の理解は正しいですか?
また、私が説明した方法でログを取得することは可能ですか?(つまり、JVM診断を生成するときに、ヒープダンプを生成するかどうかをオンザフライで選択します)