問題タブ [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 に答える
3938 参照

jakarta-ee - サーバーが低スレッド カウント状態になるとすぐに、WebLogic サーバーのスレッド ダンプをトリガーする方法はありますか?

いくつかの問題を引き起こしている WebLogic セットアップがあります。

サーバーの状態を視覚化するのに役立つ HP BAC と呼ばれる監視ツールがあり、このツールを Java Thread Dump ユーティリティと結び付けて、スレッド数が少ない状況が発生したときにスレッド ダンプがキャプチャされるようにします。

サーバーが低スレッド カウント状態になる状況があり、特にスレッド ダンプを使用して見つけようとするすべての努力が無駄に思えるため、その理由は不明です。

「最先端」を考えると、私たちのスレッド ダンプ キャプチャは常に遅く/後にトリガーされ、調査に役立つスレッド ダンプを常にキャプチャすることはありません。

他の皆さんがどのようにそのような監視努力を行っているかを確認したいと思いますか?

ここに画像の説明を入力

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

java - Java: ロックされたスレッド ダンプを読み取る方法

このスタックトレースの読み方を理解してくれる人はいますか?

明らかにロックの問題が発生していますが、それを読み取る方法がわかりません。たとえば、「- locked」を含む最初の行は「a java.util.ArrayList」と言っています... これは、ResponseStream.getPacket() (466 行目) でsynchronized、サブジェクトを持つ ArrayList を使用してブロックを実行していることを意味しますか? ?

現在、アプリ全体がロックされており、このようなスタック トレースが他にもたくさんあります。問題が発生している場所を確認できるように、これを読み取る方法を見つけようとしています。

アップデート

これは、データベース接続プーリングに C3P0 を使用する Web アプリケーションです。次のスレッドからわかるように、データベースのロックが発生しています。これをデバッグする他の方法は知っていますが、私の本当の質問は、単にこれらのスレッド ダンプをどのように読むべきかということです。

ありがとう!-ショーン

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

java - Java スレッド ダンプ: 「ロックを待機中 ...」のないブロックされたスレッド

Tomcat 6 (java 1.6.0_22、Linux) で実行されている Spring MVC Web アプリケーションの jstack から取得したスレッド ダンプを理解するのに苦労しています。

ブロックされているスレッド (他のスレッドを待機させる) が表示されますが、スレッド ダンプでは、スレッドが待機している理由や待機しているモニターがわかりません。

例:

つまり、スタック トレースに "waiting to lock ..." 行がありません。どうやらスレッドが Class オブジェクトをロックしているようですが、スレッド自体がブロックされている理由がわかりません。

スレッド ダンプには、デッドロックのヒントは含まれていません。

ロックモニターを特定するにはどうすればよいですか?

ありがとう、オリバー

0 投票する
10 に答える
92863 参照

java - jstack:ターゲットプロセスが応答していません

Ubuntu Server Editionを実行していて、Tomcatのスレッドダンプを取得したいと思いました。

そこで、私は最初にどのPIDTomcatが使用しているかを調べようとしました。

しかし、それはありませんか?

そこで、top代わりに使用して、PID5730を見つけました。

次に、jstackを呼び出してスレッドダンプを取得しました。

どうしたの?:-(

Jstackで説明されているようにCATALINA_TMPDIRをエクスポートしようとしましたが、JstatはJDK6u23へのアップグレードで動作を停止しましたが、何も変わりませんでした。

アップデート:

私も試しsudo -u tomcat6 jstack -l -F 5730 > threaddumpexceptions2.txtましたが、コンソールに大量の例外が表示されるだけです。

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

java - 「プール」で始まる Java スレッドは何ですか?

正常にシャットダウンできない Tomcat サーバーに問題があります。shutdown コマンドを発行した後にスレッド ダンプを取得したところ、次のようになりました。

http://pastebin.com/7SW4wZN9

VM のシャットダウンを許可しない「疑わしい」スレッドは、「pool-4-thread-1」という名前のスレッドです。残りは、デーモン スレッドまたは内部 VM スレッドのいずれかです。このスレッドの目的を調べようとしているときに、似たような名前のスレッドを作成する Java プログラムが他にもあることに気付きました (たとえば、JVisualVM はそのようなスレッドを作成します)。

だから、他の誰かがこのスレッドが何であり、どのように作成できるかを知っているかどうか疑問に思っています.

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

java - Javaスレッドダンプを分析するには?

Java、特にメモリ管理とスレッドについてもっと理解しようとしています。このため、私は最近、スレッド ダンプを見ることに興味を持っています。

以下は、Java の組み込みツールである VisualVM を使用した Web アプリからのいくつかの行です。

まず、いくつかの変数名について質問があります。

  • tid と nid とはどういう意味ですか?
  • Object.wait の後の角括弧内の数字は何ですか?

次に、スタック トレース自体の場合:

  • <.....> (a java.lang....) を待つとはどういう意味ですか? <..>の数字は何ですか?
  • ロックされた <.....> (a java.lang....)とはどういう意味ですか? 同じ質問、<..>の内容

ロックという言葉は何らかの待機状態に関連していると思っていましたが、間違っていました。実際、locked が 3 回繰り返されるのはなぜだろうと思っていますが、同じダンプに見られるように、スレッドは実行可能な状態になっています。

そして最後に、これはそれらの中で最悪でした:

このスレッドは実行可能な状態ですが、条件付きで待機しています。どのような状態で、0x00000 とは何ですか?

スレッド クラスの証拠がなく、スタック トレースが非常に短いのはなぜですか?

私のすべての質問に答えていただければ、とてもありがたいです。

ありがとう

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

java - Java スレッド ダンプを解釈する方法は?

ここでは、Ubuntu (サーバー版) を使用して Tomcat6 で実行されている Java Web アプリケーションを取得しました。1 ~ 3 日後、アプリケーションが非常に遅くなるため、Tomcat を新たに再起動した後にスレッドダンプを作成し、アプリケーションが遅くなり始めたときに別のスレッドダンプを作成しました。

再起動後のスレッドダンプ:

3 日後のスレッドダンプ (現在アプリケーションが遅い):

私が投稿したダンプから、何らかの理由で終了していないように見えるスレッドがたくさんあることがわかります。残念ながら、どのクラス (クラス名?) とその理由がわかりません。コンソールで使用topすると、「VIRT」の値が ~800 (再起動後) から 4000 以上 (3 日後) に上昇したことが示されました。

これらのダンプをより適切に解釈するにはどうすればよいですか? すでにそれらを TDA にロードしようとしましたが、うまくいきませんでした (TDA はそれらをダンプとして認識していないようです)。

たぶん、誰かがダンプで何が起こっているのかをすでに見ていますか?

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

java - 参照ハンドラ スレッドについて

Java Thread を深く理解するための道を歩み続けています。残念ながら、私の Java 認定資格はその部分をカバーしていませんでした。そのため、学習する唯一の方法は、一連のばかげた質問を投稿することです。Java 開発に何年も携わってきたので、私はまだどれだけのことを学ばなければならないのだろうかと思うことがあります :-)

特に、参照ハンドラ スレッドに注目しています。

いくつかの質問は次のとおりです。そのうちのいくつかについては答えを知っていますが、他の人の意見を聞きたいので投稿しません。

  1. リファレンス ハンドラ スレッドは何をすべきか?
  2. スレッド ダンプはボトムアップと見なす必要があります。スタック トレースがロックされた状態で始まるのはなぜですか。少なくともスレッドが実行された後にロック ステートメントが表示されるべきではありません。
  3. 「ネイティブメソッド」とは?
  4. スレッド ダンプがソース コードをリコールできない場合、「不明なソース」はなぜですか?
  5. 最後に、待機とロックは同じですが、なぜですか?

いつものように、すべての質問にお答えいただき、回答済みとしてマークできるようお願いいたします。

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

java - Control-cygwinを使用してJavaでブレークが機能しない

私はこれがこれを尋ねるのに適切な場所であることを願っています、私はWindows64ビット用のJAVA7を実行しています。ターミナルとしてcygwinを使用しています。進行中のプログラムを停止しようとするたびに、control-breakを押します。通常、これによりジョブがバックグラウンドに送信されますが、代わりに次のスレッドダンプが発生します。

ジョブをバックグラウンドに送信するためにコントロールブレイクを行うために変更する必要があるものはありますか。

本当にありがとう

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

java - Java スレッド ダンプ内の孤立したスレッド

Java アプリケーションのスレッド ダンプで「孤立した」スレッドが頻繁に発生しています。私のアプリケーション自体は非常に低い CPU アクティビティでフリーズしているように見えます。私のスレッド ダンプには、オブジェクトのロックを待機している多くのスレッドが示されていますが、そのオブジェクトをロックしているスレッドはありません。

誰かが同様の状況に見え、これをさらに診断する方法について提案がありますか?

スレッドダンプは次のとおりです。

フル スレッド ダンプ Java HotSpot(TM) 64 ビット サーバー VM (1.5.0_12-b04 混合モード):