問題タブ [thread-dump]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
3952 参照

java - JVM が GC で時間を費やしたとき、スレッド ダンプはどのように見えるか

Java アプリケーションをプロファイリングすると、興味深い事実に気づきます。JVM がデス スレッド ダンプの GC スパイラルにある場合、次のようになります。

そのため、状態には多くのスレッドがありTIMED_WAITINGます。理論的には、この状況は正常に機能しているアプリケーションで簡単に見つけることができます (アプリケーションには現時点で受信リクエストがないだけです) が、単一のリクエスト ディスパッチ スレッドで何か有用なことを行っているものは見つかりません (公称ヒット率は約 100 hp です)。

この動作は GC と関係がありますか、それとも単なる偶然ですか?

0 投票する
3 に答える
9689 参照

java - コマンドラインからJavaプログラムのメモリ使用量、スレッドダンプを表示するにはどうすればよいですか?

JVMにJavaプログラムのメモリ使用量とスレッドダンプを表示するように依頼する既知のコマンドラインツールはありますか? ヘッドレスjvisualvmのようなもの?

0 投票する
2 に答える
5297 参照

java - Glassfish v3 - スレッドダンプを取得/分析する方法は?

Linux ボックスの Glassfish 3.1.1 で実行されているアプリのスレッド ダンプを取得/分析しようとしています。私はそれを行う2つの方法に出くわしました。

  1. kill -QUIT <pid>コマンドラインで実行
  2. Glassfish 管理コンソールで、[一般的なタスク] -> [サーバー (管理サーバー)] -> [全般] タブに移動します。[JVM レポート] をクリックし、[表示] ドロップダウン ボックスから [スレッド ダンプ] を選択します。

これらの両方のスレッド ダンプの結果は異なります。kill メソッドは、XML (hotspot_log) で次の構造を持つファイル (/domains/domain1/logs/jvm.log) を生成します。

終了タグに注意してください

がファイルから欠落しています。 理由を知っている人はいますか?

管理コンソールを介して行われたダンプにより、次の形式のレポートが生成されます。

ダンプを分析するために、TDA - Thread Dump Analyzer (http://java.net/projects/tda/) を試してみたところ、XML バージョンが開くことがわかりましたが、開くまで UI に表示されません。 XML 以外のバージョンも表示されます (両方が表示されます)。

なぜこんなにフォーマットが違うのですか?分析にはどちらが優先されますか? それは問題ですか?

0 投票する
3 に答える
4822 参照

java - kill -3 でスレッドダンプが生成されない

kill -3 / quit PID が何も出力しない、つまり空のスレッド ダンプになる可能性はありますか? サポートエンジニアから話を聞いて、何人かの専門家が検証できるかどうか疑問に思っていました.

これは、RHEL 5 の Java 6_26 にあります。

0 投票する
2 に答える
909 参照

java - すべてのスレッドによって保持されているロックをプログラムで見つける方法

Thread.getAllStackTraces()を呼び出すことにより、Javaプログラムからスレッドダンプを簡単に出力できます。問題を簡単に診断するために、これをJSPで使用することがありました。しかし、多くの場合、調べる必要のあるもう1つの重要な情報は、スレッドによって保持されているロックと、ブロックされたスレッドが取得しようとしているロックです。Java APIを介してこの情報を取得する方法はありますか?私が見つけたのはThread.holdsLockだけですが、これは、ロックされている可能性のあるすべてのオブジェクトを知っている場合にのみ役立ち、ブロックされたスレッドが取得しようとしているロックを教えてくれません。

(もちろん、ツールを使用してスレッドダンプを作成することでこの情報を取得できますが、システムが自分のマシン上にない場合、このオプションは簡単に利用できないことがよくあります。)

0 投票する
0 に答える
221 参照

java - 奇妙なJavaスレッドダンプ出力

Javaプロセスのスレッドダンプ(kill -3出力)があり、奇妙な問題が発生します-オブジェクトのロックを待機しているため、多くのスレッドがブロックされているようですが、スレッドが表示されませんこのロックを保持します:

grep 0x00002aab9e9454a0 outputFile | 並べ替え| uniq -c

(複数のダンプがあるため86回ですが、この質問には関係ありません)。

誰かがこのようなことがどのように起こり得るかについて何か考えを持っていますか?

ありがとう!

0 投票する
1 に答える
5417 参照

linux - プロセスのスレッド ダンプ ログを収集する UNIX スクリプト

HashMap.put 関数に関する問題を生成しようとしています。100 を超えるスレッドを実行するテスト コードを作成しました。jstack または kill を使用して、プロセスの特定のスレッドのスレッド ダンプを取得できます。 .問題は、スレッド ダンプをすぐにキャプチャできないことです。プロセスが終了するまで、すべてのスレッド ダンプをファイルに記録したいのですが、これを行うために書き込むことができる Linux コマンドまたはシェル スクリプトはありますか?

0 投票する
2 に答える
734 参照

java - スレッドダンプ分析(AWT-EventQueueは実行可能ですが、条件を待機しています)

ある(ランダムな)時間の後にフリーズするswingアプリケーションがあります。フリーズした後、10秒ごとに5つのスレッドスナップショットを作成しましたが、それらにはすべてまったく同じ行が含まれています。

スレッドダンプ内の他のスレッドはXXX.javaにないことに注意してください。対応するコード行(XXX.java:171)はやや不快に見えます:

どこ:

  • abおよびcはローカルBigDecimal変数です。
  • MATH_CONTEXT変数でありpublic final static、XXX.java内でのみアクセスされます

私の質問(それらのいずれかに答えることは大きな助けになるでしょう)

  • これはデッドロックまたは活性の問題の証拠ですか(スレッドは進行していないようですが、RUNNABLE状態にあります)?
  • これがフリーズの原因である可能性が高いですか、それとも別の場所を探す必要がありますか?
  • 問題を解決するための次のステップは何でしょうか?
0 投票する
2 に答える
25106 参照

java - tomcatで100スレッドTIMED_WAITING、スレッドの総数が200を超えるとストールします

最近、Tomcatのビジースレッドが200に達したため、本番のTomcatサーバーの1つが応答しなくなりました。再起動する前にスレッドダンプを取得すると、次の3つのスレッドのようにTIMED_WAITING状態のスレッドが100になりました。

4つのアプリケーションのスレッドプール(たとえば、pool-4-thread-20など)もあり、それぞれに20のスレッドがあるので、これらの100のスレッドが待機しているブロッキングキューがわかりませんか?これの原因ではないように思われる休止状態のc3P0接続プールを使用しています。

java.util.concurrent.locks.AbstractQueuedSynchronizer $ ConditionObjectとは何か考えはありますか?

0 投票する
4 に答える
3771 参照

java - Google App Engine Java の Java 7 サポート

Google App Engine Java の概要ページには、Java バージョン 5 および 6 がサポートされていることが示されています。Java 7u4 でローカル開発サーバーを起動すると、次のエラーが発生します。

詳細については、出力スレッド ダンプを参照してください。

この特定の Java 7 バージョンに既知の問題はありますか? ロードマップで、GAE Java の Java 7 の完全なサポートは予定されていますか?