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

生成堆转储文件

新建项目,设置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());
        }        
    }
}

控制台:

本地转储文件

 
查看生成分析报告

 

查看详细信息:

 

 

MAT工具有个功能,可以将报告打包成一个zip文件,存放在转储文件的目录。可直接使用浏览器查看。

 
 
 
posted @ 2016-12-01 11:53  随风飘逸  阅读(1047)  评论(0)    收藏  举报