実行中の JBoss インスタンスからスレッド ダンプを生成および分析するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/59787

  •  09-06-2019
  •  | 
  •  

質問

実行中の JBoss インスタンスからスレッド ダンプを生成および分析するにはどうすればよいですか?

役に立ちましたか?

解決

もう少しユーザーフレンドリーな JBoss 固有のメソッドがあります。

http://community.jboss.org/wiki/GenerateAThreadDumpWithTheJMXConsole

これは、ホスト マシンに直接アクセスできない場合 (「強制終了」にはアクセスが必要です) に特に便利です。

他のヒント

http://java.sun.com/developer/technicalArticles/Programming/Stacktrace/

...

「UNIX プラットフォームでは、kill コマンドを使用してプログラムにシグナルを送信できます。これは終了信号であり、JVM によって処理されます。たとえば、Solaris では、コマンド kill -QUIT process_id を使用できます。process_id は Java プログラムのプロセス番号です。

あるいは、Java プログラムが開始されたウィンドウにキー シーケンス <ctrl>\ を入力することもできます。このシグナルを送信すると、JVM 内のシグナル ハンドラーに、JVM 内のスレッドおよびモニターに関するすべての情報を再帰的に出力するよう指示されます。

...

「スレッド状態の決定」

JVM スタック トレースのスナップショットには、さまざまな状態のさまざまなスレッドが表示されます。使用されるキーは次のとおりです。

R 実行中のスレッドまたは実行可能なスレッド

S 吊り糸

CW 条件変数を待機しているスレッド

モニターロックを待機している MW スレッド

MS スレッドはモニター ロックを待機中一時停止されました。」

スタックトレース アプリが見つかりました ここ また、特に Windows マシンで Java アプリがコマンド ラインから起動されない場合に便利です。

Thread.getAllStackTraces() (Java 1.5 以降)

2 つのオプション:

オプション1 JMX コンソールを使用してスレッド ダンプを生成する

スレッド ダンプを生成するには:

  1. JMXConsole を開きます (例: http://localhost:8080 )
  2. 案内する jboss.system:type=ServerInfo ムビーン(ヒント: おそらく、CTRL-F を押して、ダイアログ ボックスに type=ServerInfo と入力するだけです)。
  3. サーバー情報 MBean のリンクをクリックします。
  4. それが表示されている下部に移動します listThreadDump
  5. それをクリックしてスレッドダンプを取得してください

ノート:

Internet Explorer を使用している場合は、次を使用する必要があります File > Save As データをテキスト エディタにコピーする代わりに出力を保存します。何らかの理由で、Internet Explorer からテキストをコピーすると改行がコピーされず、すべての出力が 1 行になってしまいます。

オプション 2 Twiddle を使用してスレッド ダンプを生成する

あるいは、twiddle を使用して実行することもできます。 listThreadDump() メソッドを使用し、返された HTML をファイルに直接パイプ処理します。次のコマンドラインを使用します。

<JBOSS_HOME>/bin/twiddle invoke "jboss.system:type=ServerInfo" listThreadDump > threads.html

場合によっては、JBoss がロックしすぎて jmx-concole さえ応答しなくなることがあります。このような場合、Linux では kill -3 を使用してください。 信号を送る Windows 上で。

https://community.jboss.org/wiki/ThreadDumpJSP このページには、JMX なしで使用できるスタンドアロンの自己完結型 threaddump.war が含まれています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top