(一)默认已安装eclipse IDE
打开eclipse选择如下操作:
插件地址:http://download.eclipse.org/mat/1.5/update-site/
安装插件。
安装完成后重启即可。
(二)获取Heap Dump文件
新建一个java项目,创建HeapOOM类,输入如下代码:
package matt;
import java.util.ArrayList;
import java.util.List;public class HeapOOM {
int num;
public HeapOOM() {
num = 100000;
// TODO Auto-generated constructor stub
}
public static void main(String[] args) {
List<HeapOOM> list = new ArrayList<HeapOOM>();
while(true)
list.add(new HeapOOM());
}
}
设置eclipse的运行参数:
选择Arguments输入运行参数。
参数说明:
* JVM设置
* -verbose:gc -Xms20M -Xmx20M -XX:+HeapDumpOnOutOfMemoryError
* –verbose:gc 在虚拟机发生内存回收时在输出设备显示信息,
* 格式如下: [Full GC 268K->168K(1984K), 0.0187390 secs]该参数用来监视虚拟机内存回收的情况。
-Xms20M 设置应用程序的初始内存大小为20M
-Xmx20M 设置应用程序的能够使用的最大内存为20M(与-Xms设置大小相同可以避免堆自动扩展)
-XX:+HeapDumpOnOutOfMemoryError 可以让虚拟机在出现内存异常的时候自动Dump出当前的内存对转储快照以便日后进行分析
完成以上步骤输出内存
选择eclipse->File->Open File选项。
打开后。
参考1:https://www.cnblogs.com/larack/p/6071209.html
参考2:https://blog.csdn.net/abc997995674/article/details/83040292