首页 > 代码库 > Eclipse Memory Analysis进行堆转储文件分析

Eclipse Memory Analysis进行堆转储文件分析

生成堆转储文件
1、新建项目,设置Eclispe Java堆的大小:
(1)限制Java堆大小:将最小值 -Xms参数与最大值-Xmx参数设置一样可避免堆的扩展
        -Xmx20m -Xms20m -Xmn10m -Xss1m
(2)通过参数:-XX:+HeapDumpOnOutOfMemoryError,可以让VM在出现内存溢出异常时Dump当前内存堆转储快照
        -Xmx20m -Xms20m -Xmn10m -Xss1m -XX:+HeapDumpOnOutOfMemoryError
技术分享
 
模拟堆溢出代码:
public class HeapOOM {    static class OOMObject{            }            public static void main(String[] args) {        List<OOMObject> list = new ArrayList<>();                for (int i = 0; i >= 0 ; i++) {            list.add(new OOMObject());        }            }}

控制台:

技术分享

本地转储文件
技术分享
 
 
查看Memory Analysis生成分析报告
技术分享

 

查看详细信息:

技术分享

 

技术分享

 

 
 
 

Eclipse Memory Analysis进行堆转储文件分析