1. 安装
在Eclipse help -> Eclipse Marketplace下搜索Memory:
按照操作流程安装完成,重启Eclipse.
2,编写测试代码:
import java.util.ArrayList; import java.util.List; public class HeapOOM { static class OOMObject{ } public static void main(String[] args) { List<OOMObject> list=new ArrayList<>(); while (true) { list.add(new OOMObject()); } } }
3.Eclipse中的运行参数设置
-Dfile.encoding=UTF-8
-Xms20m -Xmx20m ##设置堆大小20m,将最小和最大值设置相等,避免扩展
-XX:+HeapDumpOnOutOfMemoryError ##dump出当前的内存堆转储快照
-XX:HeapDumpPath=E:\job ##指定路径(转储文件还是挺大的)
-XX:SurvivorRatio=8 ## 存活比2:8
4. 打开堆转储快照
通过上述可以看见堆转储快照文件是.hprof 文件。
切换Eclipse到内存分析视图
然后点击Eclipse -Filse-Open Heap Dump
打开文件.hprof文件
出现如下图