首页 > java > 使用MAT进行java内存溢出分析

使用MAT进行java内存溢出分析

作者:bin

MAT:Memory Analyzer tool
首先先去下载:https://www.eclipse.org/mat/downloads.php

然后打开工具,打开hprof后缀文件

选择leak suspects Report
如图,可以看到

其中
Shallow Size,是对象本身的占的内存
Retained Size,是对象本身加上引用对象的内存
percentage是占用百分比
下面是内存溢出的示例代码,启动虚拟机参数-XX:+HeapDumpOnOutOfMemoryError -Xmx10m -Xms10m:

   public static void main(String[] args) throws Exception{
        List list = new ArrayList<>();
        while(true){
            list.add(new String("test"));
            System.out.println(list.size() + "--" + Runtime.getRuntime().totalMemory()/(1024*1024)+"M");
        }
    }

您必须 [ 登录 ] 才能发表留言!