Eclipse-Memory Analyzer
概要
Eclipse公式プラグインのアドレス:http://www.eclipse.org/mat/downloads.php ウェブサイト上のこのサイトを使ってオンラインでインストールします。http://download.eclipse.org/mat/1.5/update-site/
インスタンスを使う
用語の約束まずメモリdumpが大きすぎるのを防ぐためにheapのサイズを制限する必要があります。heapが2 Gであればdumpから出てくるhprofファイルも2 G~ があります。その後、パラメータを設定し続けると、仮想マシンがheappOOMを発生した時にメモリをスナップダウンします。hprofはその拡張子の名前である。 2.操作セグメントCG Rootsがオブジェクトに到達することを保証するコード プログラムの実行が完了したら、consone出力 が出力されます。 Eclipseにおけるmat動作 3.分析
Eclipse公式プラグインのアドレス:http://www.eclipse.org/mat/downloads.php ウェブサイト上のこのサイトを使ってオンラインでインストールします。http://download.eclipse.org/mat/1.5/update-site/
インスタンスを使う
用語の約束
mat : Memory Analyzer Tool
OOM : OutOfMemoryError
1.jvmパラメータを準備する-Xms20m heap 20
-Xmx20m heap 20
-XX:+HeapDumpOnOutOfMemoryError
static class OOMObject{}
public static void main(String[] args) {
List<OOMObject> list = new ArrayList<OOMObject>();
while (true) {
list.add(new OOMObject());
}
}
java.lang.OutOfMemoryError: Java heap space
Dumping heap to java_pid8464.hprof ...
Heap dump file created [27967716 bytes in 0.096 secs]
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
at java.util.Arrays.copyOf(Arrays.java:2245)
at java.util.Arrays.copyOf(Arrays.java:2219)
at java.util.ArrayList.grow(ArrayList.java:242)
at java.util.ArrayList.ensureExplicitCapacity(ArrayList.java:216)
at java.util.ArrayList.ensureCapacityInternal(ArrayList.java:208)
at java.util.ArrayList.add(ArrayList.java:440)
at com.ddup.jvm.HeapMemoryLeak.main(HeapMemoryLeak.java:15)
1. Memory Analysis 。
2. Open Heap Dump, java_pid****.hprof
...