首页

通过eclipse MemoryAnalyzer插件对内存溢出进行堆栈轨迹异常分析排除问题(mat用例)

标签:MAT教程,内存溢出排查问题,MemoryAnalyzer分析dump文件     发布时间:2019-07-10   

一、前言

通过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文件

通过eclipse MemoryAnalyzer插件对内存溢出进行堆栈轨迹异常分析排除问题(mat用例)

-Xms40m -Xmx40m @b@-XX:+HeapDumpOnOutOfMemoryError

通过eclipse MemoryAnalyzer插件对内存溢出进行堆栈轨迹异常分析排除问题(mat用例)

3. 打开文件 - 选择上面产生的java_pid5132.hprof文件进行打开

通过eclipse MemoryAnalyzer插件对内存溢出进行堆栈轨迹异常分析排除问题(mat用例)

4. 通过下面步骤进行查询分析具体原因

通过eclipse MemoryAnalyzer插件对内存溢出进行堆栈轨迹异常分析排除问题(mat用例)

通过eclipse MemoryAnalyzer插件对内存溢出进行堆栈轨迹异常分析排除问题(mat用例)

通过eclipse MemoryAnalyzer插件对内存溢出进行堆栈轨迹异常分析排除问题(mat用例)

4. 另外,在该项目目录下面会同步产生java_pid5132_Leak_Suspects.zip上面报告包文件,如下图所示

通过eclipse MemoryAnalyzer插件对内存溢出进行堆栈轨迹异常分析排除问题(mat用例)

  • ◆ 相关内容