2012-09-05 18 views
20

Javaスレッドのダンプが何であるか知りたい。 誰かがスレッドダンプが何であるか、それが実行中のJavaプログラムにどのように関係しているのか理解してくれますか?"スレッドダンプ"の意味

+2

それは文字通りの名前とスタックダンプ(ここプログラムが実行されています)。あなたのプログラムが何をしているのかを理解するのに役立ちます。 VisualVMは、プロセス内のすべてのスレッドを視覚化する最善の方法の1つです。 –

+5

*「私にいくつかの知識を共有してください。」*これらの質問は、キーワードを検索エンジンに入れることによって解決されることがあります。この場合、「java + thread + dump」を検索してください。 –

+10

ちょうど "スレッドダンプ意味"のためのグーグルと最初の結果は、このstackoverflowの質問でした。それはstackoverflowをあらゆる種類の開発者のための素晴らしいプラットフォームにするものですが、基本的な質問は落胆させるべきではありません。 –

答えて

23

Javaスレッドダンプは、特定の時点でJVM内のすべてのスレッドが何を行っているかを調べる方法です。これは、負荷がかかっているときにJavaアプリケーションがハングしているように見える場合に便利です。ダンプの解析では、スレッドがスタックされている場所が示されるためです。

kill -QUIT <pid>を実行し、を実行してCtl + Breakを打つことによって、Unix/Linuxの下にスレッドダンプを生成できます。詳細情報については、スレッドダンプsee here

を作成する方法を知っているJVM see here

からスレッドダンプを取る方法を知っている

Java Sanity

+0

「特定の時点で」ダンプする期間を何らかの形で定義できますか? –

0

スレッドダンプがの状態の出力でありますプログラムが失敗した時点でスタックを呼び出します。これは、プログラムが何をしていたのか(そしてその理由)を正確に示しているので、プログラムで間違ったことがうまくいくようにするはずです。

あなたは見たいスレッドダンプを持っていますか?

13

http://www.javasanity.org/understandingthreaddumpsから:

スレッドダンプは、あなたが/スレッドを分析し理解することができた時間で、現時点で実行されます正確に何のスナップショット

資源の多くはそこにあります。ですダンプ(例えば、http://www.javacodegeeks.com/2012/03/jvm-how-to-analyze-thread-dump.html)。

また、次の質問が役立つかもしれません:Thread Dump Analysis Tool/Method

2

「スレッドダンプは、Java仮想マシン(JVM)で現在アクティブなすべてのJavaスレッドの一覧です。」link

通常、このリスト内のスレッドが現在のスタックトレースによって表される、スレッドの状態(実行中、中断、ロック、など)さ