IBM HeapAnalyzer
Ibm Heapanalyzer
方法
概要
IBM HeapAnalyzerは、Javaヒープリークの可能性を発見するためのグラフィカルツールです。
ステップ
- ダウンロード: https://public.dhe.ibm.com/software/websphere/appserv/support/tools/HeapAnalyzer/ha457.jar
- ターミナルまたはコマンドプロンプトを開き、ディレクトリをJARファイルをダウンロードした場所に変更します。
- ツールを実行するには、JavaがPATH上にあることを確認してください。
- ツールを起動します(使用可能なRAMに基づいて-Xmxを増やします)。
java -Xmx2g-jarには* .jarがあります
注意 :IBM HeapAnalyzerには新しい開発がないため、通常、 Eclipseメモリアナライザーツール(MAT) と IBMDTFJ拡張機能 代わりに、オープンソースであり、活発な開発が行われています。同様の機能セット(大規模なドミネーターの検出、リークの疑いがあるなど)、および製品固有の分析エンジンを備えたIBM Extensions for MemoryAnalyzerがあります。
追加情報
HeapAnalyzerを使用すると、ヒューリスティック検索エンジンとJavaアプリケーションのJavaヒープダンプの分析を通じて、Java™ヒープリーク領域の可能性を見つけることができます。
Javaヒープ領域は、オブジェクト、配列、およびクラスを定義します。ガベージコレクターがヒープ内のストレージ領域を割り当てると、オブジェクトへの参照がJVMのアクティブ状態のどこかに存在する間、オブジェクトは存続し続けるため、オブジェクトに到達できます。オブジェクトがアクティブ状態から参照されなくなると、オブジェクトはガベージになり、再利用のために再利用できます。この再利用が発生すると、ガベージコレクターは可能なファイナライザーを処理し、オブジェクトに関連付けられている内部JVMリソースがそのようなリソースのプールに返されるようにする必要があります。 Javaヒープダンプは、特定の時間におけるJavaヒープのスナップショットです。
それはどのように機能しますか?
HeapAnalyzerは、Javaヒープダンプを解析し、方向グラフを作成し、それらを方向ツリーに変換し、ヒューリスティック検索エンジンを実行することにより、Javaヒープダンプを分析します。
機能の例を次に示します。
- Javaヒープリークの疑いのあるリスト
- kClusterのサイズの推奨
- 割り当てられたオブジェクト/クラス/配列間のギャップのリスト
- Javaオブジェクト/クラス/配列検索エンジン
- タイプ名によるオブジェクト/クラス/配列のリスト
- オブジェクト名によるオブジェクト/クラス/配列のリスト
- アドレス別のオブジェクト/クラス/配列のリスト
- サイズ別のオブジェクト/クラス/配列のリスト
- 子のサイズ別のオブジェクト/クラス/配列のリスト
- 子の数によるオブジェクト/クラス/配列のリスト
- 頻度別のオブジェクト/クラス/配列のリスト
- サイズ別の使用可能なヒープスペースのリスト
- Javaヒープダンプのツリービュー
- 処理されたJavaヒープダンプのロード/保存。
詳細については、ツール内のヘルプドキュメントを参照してください。
HeapAnalyzerツールは、保証やサポートなしでそのまま提供されますが、時間の許す限り、ツールの修正と拡張に努めています。このツールは、もともとJinwooHwangによって作成されました。ファン氏がIBMを離れて以来、ツールは時間の許す限りKevin Grigorenko( [メール保護] )。
注意 :IBM HeapAnalyzerには新しい開発がないため、通常、 Eclipseメモリアナライザーツール(MAT) と IBMDTFJ拡張機能 代わりに、オープンソースであり、活発な開発が行われています。同様の機能セット(大規模なドミネーターの検出、リークの疑いがあるなど)、および製品固有の分析エンジンを備えたIBM Extensions for MemoryAnalyzer。
関連情報
Webキャストの再生:IBMHeapAnalyzerを使用してJavaヒープの問題を診断する
製品 | 成分 | プラットホーム | バージョン |
---|---|---|---|
IBM Java | プラットフォームに依存しない | すべてのバージョン |