7

良いスレッド ダンプ アナライザー ツールを知っていますか? 完璧です:

  • 自由
  • いくつかのスレッド ダンプを読み取って比較できます
  • どのスレッドが最も長くかかったか、スレッドがロックされているクラスは何かなどを指摘します。
  • 単一のロックの取得を待機しているスレッド、ロック、デッドロック、および複数のスレッドを表示します

編集:

  • オフライン分析 - 1 つまたは複数のスレッド ダンプを含むファイルをロードし、分析します。

編集: 私の選択は: サムライです。私が必要とするすべての機能を備えています: ログファイルをロードし、いくつかのスレッド ダンプを比較します。それを分析して指摘します:

  • 待機スレッド
  • ブロックされたスレッド
  • ブロックスレッド
  • デッドロック

TDA が与えられた最良の回答であるため、質問は回答済みのままにします。

4

3 に答える 3

7

Visual VM のプラグインである TDA - Thread Dump Analyser を使用できます。

Visual VM も無料です。これがあなたの最良の選択だと思います。

Linux を使用している場合は、kill -3 を使用してスレッド ダンプを取得し、スレッド ダンプ アナライザーを使用してデッドロックを探すことができます。

VisualVM は現在 JDK の一部として出荷されており、メモリ使用量、スレッドを監視するために使用でき、プロファイラーも含まれています。

jmap を使用して、Java プロセスからヒープ ヒストグラムとヒープ ダンプを取得できます。その後、Eclipse Memory Analyzer などのツールを使用して調査できます。

別の回答が述べたように、JMX と JConsole を調べることができます。アプリケーションのサービスごとに MBean があるため、キュー サイズなどの主要な統計を表示して、通常とは異なる点がないかどうかを確認できます。

ServerFaultでの Sun JVM トラブルシューティングのツールとヒントから。

于 2012-11-14T08:18:57.470 に答える
3

IBM JRE を使用する場合は、IBM Thread and Monitor Dump Analyzer for Javaを使用する必要があります。これはまさに必要なもの (オフライン使用、比較など) を提供します。

于 2012-11-26T10:25:44.400 に答える
0

私のDump Analyzerを試すことができます。私も同じニーズを持っていて、独自のダンプ アナライザーを開発しました。それはあなたのリストの機能のいくつかを持っています.

于 2014-04-02T18:02:56.043 に答える