一、前言
通过eclipse中安装MemoryAnalyzer插件,对下面内存溢出代码产生的dump错误文件进行分析,具体操作配置详情步骤如下所示。
二、操作步骤
1. 代码示例
import java.util.LinkedList;@b@import java.util.List;@b@@b@public class TestHeap {@b@ @b@ public static void main(String[] args) {@b@ List<Object> list =new LinkedList<>();@b@ int i =0;@b@ while (true){@b@ i++;@b@ if(i%1000 ==0){@b@ System.out.println("i:"+i);@b@ }@b@ list.add(new Object());@b@ }@b@ }@b@}
2. 配置jvm参数,运行后报错误.hprof后缀dump文件
-Xms40m -Xmx40m @b@-XX:+HeapDumpOnOutOfMemoryError
3. 打开文件 - 选择上面产生的java_pid5132.hprof文件进行打开
4. 通过下面步骤进行查询分析具体原因
4. 另外,在该项目目录下面会同步产生java_pid5132_Leak_Suspects.zip上面报告包文件,如下图所示