2009-08-19 85 views

答えて

1

ヒープはいつでもあなたはメモリーのメモリー不足エラーで開催されているものを見たい ヒープダンプダンプ - メモリオブジェクト内の絵 - メモリ分析のため Javaのコアを使用 - もスレッドとして知られているがをダンプしますJVM内のスレッドアクティビティを特定の時間に表示するために使用されるJavaダンプまたはJavaダンプ。 IBM javacoreとすべきであるだけで、スレッドとスタックのほか、追加情報の多く - スレッドダンプがすなわちとして、すべてのスレッドのスタックトレースのダンプでパフォーマンスdegredation システムコア

1

ためのハング、デッドロック、およびその理由を決定するために使用それぞれのスレッドが突然例外をスローし、printStackTraceされた場合。これは、特定の時点で各スレッドが何をしているかを見ることができ、デッドロックを捕捉するのに非常に適しています。

ヒープダンプは、JVMが使用している全メモリの「バイナリダンプ」であり、メモリ不足の理由を知る必要がある場合などに役立ちます。ヒープダンプでは、 1000個のUserオブジェクトが必要ですが、メモリの保持に関する問題を指しています。

42

スレッドダンプは、すべてのライブスレッドのスタックのダンプです。したがって、ある時点でアプリが何をしているのかを分析し、ある種の '実行'問題(例えばスレッドデッドロック)を診断する際に、間隔を空けて行うと便利です。

ヒープダンプは、Javaヒープメモリの状態をダンプします。そのため、ある時点でアプリがどのようなメモリの使用を行っているかを分析すると便利です。メモリの問題を診断するのに便利です。

これは「生の」用語であり、さまざまな形で提供される可能性があります。一般に、JVMとアプリケーションサーバーからのダンプファイルを記述するために使用され、この形式では低レベルのツールです。あなたが何か他のものを得ることができない何らかの理由で有用な場合、あなたは人生を見つけるためには、まともなプロファイリングツールを使用して同様の情報を解剖するのが簡単です。

WebSphereに関して、javacoreファイルは、ロックやロードされたクラス、いくつかの限られたメモリ使用情報などの多くの情報があるにもかかわらず、スレッドダンプであり、PHDファイルはヒープダンプです。

javacoreファイルを読みたい場合は手作業で行うことができますが、IBMツール(BMスレッドとモニターダンプアナライザー)があれば簡単です。ヒープ・ダンプ・ファイルを読み取るには、多くのIBMツールの1つ、MDD4Jまたはヒープ・アナライザーが必要です。

+2

MDD4Jは推奨されていません。メモリアナライザーは推奨ツールです。 – Chao

0

スレッドダンプはJVMで実行されているスレッドのスナップショットを表示します。ハングの問題をデバッグするのに便利です。また、Javaレベルのデッドロックに関する情報を提供します。また、javacoresのIBmバージョンは、ヒープ使用、各スレッドのCPU使用率、およびJVMによってラップされたクラスの数とともに、全体的なヒープ使用量

ヒープダンプは、メモリリークをデバッグするために使用できるJVMによるJavaヒープ使用に関する情報を提供します。 JVMがoutofmemoryerrorで実行されるときにIBM JVMによってヒープ・ダンプが生成され、ヒープ・ダンプはjavaのヒープ・リークのみであり、メモリ不足のネイティブ・エラーは通常「GPF」一般保護フォルトを伴うシステム・ダンプをもたらす可能性があります。

0

JVMヘッドダンプは、所定の時間内のJVMヒープメモリのスナップショットです。したがって、JVMの単純なヒープ表現です。これがオブジェクトの状態です。

JVMスレッドダンプは、特定の時点でのJVMスレッドのスナップショットです。何時でもスレッドが何をしていたのか。これはスレッドの状態です。これにより、ロックされたスレッド、ハングしたスレッド、実行中のスレッドなどの理解に役立ちます。

ヘッドダンプには、スレッドダンプよりもJavaクラスレベル情報の詳細があります。たとえば、ヘッドダンプは、JVMヒープメモリの問題とOutOfMemoryErrorエラーを解析するのに適しています。 JVMヘッドダンプは、OutOfMemoryErrorが発生したときに自動的に生成されます。ヒープダンプは、kill -3を使用してプロセスを強制終了することで手動で作成できます。ヒープ・ダンプを生成することは、集中的な計算作業であり、おそらくあなたのjvmをハングします。 offetenlyを使用することはありません。ヒープは、eclipse memory analyzerなどのツールを使用して解析できます。

コアダンプは、オブジェクトのosレベルのメモリ使用量です。それはヘッドダンプよりも多くの情報を持っています。プロセスを意図的に終了させると、コアダンプは作成されません。

関連する問題