MATは、迅速かつ効果的にメモリリークを見つけ、メモリ消費分析ツールを減らす私たちを助けることができる強力なメモリ解析ツールです。
ヒープのメモリ使用量は、主要なアプリケーションのパフォーマンス監視で、ヒープのスナップショットのために、あなたは、次の3つの方法の一般的な我々のヒープ・ダンプのスナップショットのために、一般的には、さらなる分析をダンプすることができます:
- 起動時のパラメータを追加すると、自動的にダンプが発生したときにOOM:スタートパラメータのJavaアプリケーションは一般的に最高のプラス
-XX:+HeapDumpOnOutOfMemoryError
と-XX:HeapDumpPath=logs/heapdump.hprof
自動的にイベントにヒープのスナップショットOOMをダンプが、このアプローチは非常に(発生後まで待つOOMの必要性を)遅れていること。 - コマンドデマンド手動ダンプを使用します。我々はまた、使用することができる
jmap -dump:format=b,file=HeapDump.hprof <pid>
ハンドツールヒープダンプとスレッドダンプを - 手動設定ツールを使用してダンプ:jvisualvmは、クリック離れて、スタックダンプのスナップショット機能を提供してきました。
使用MAT、あなたは簡単に以下の機能を実現することができます。
- MATは、合理的なディスプレイに累積サイズを提供するため、(最大のオブジェクトを検索
retained size
) - 図には、ターゲットを検索
inbound
し、outbound
このオブジェクトを参照し、このオブジェクトが描画されている参考文献。 - リサイクルできないオブジェクトは、ガベージコレクタ関連オブジェクトのパスにルートから計算することができる見つけます。
- 例えばように冗長な文字列オブジェクト、空のコレクションオブジェクト、およびとして、メモリの浪費を探し。
Arthasは、スタック、スレッド、クラス、およびコールパフォーマンス解析機能を使用する前に診断することができ、
手動でJPSをインストールする必要がある場合Arthasはは、JDK、JREを頼って、tools.jarを、などが、
Arthasは、ないヒープ分析をjmapの機能を統合しません。
だから、今はパフォーマンス分析、ヒープのすべての要件の分析をカバーできるオンライン診断Arthasは、jmapはプラス日食マットをJVMようです。