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

Posted 互联网技术资源社区

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过eclipse MemoryAnalyzer插件对内存溢出进行堆栈轨迹异常分析排除问题(mat用例)相关的知识,希望对你有一定的参考价值。

一、前言

通过eclipse中安装MemoryAnalyzer插件,对下面内存溢出代码产生的dump错误文件进行分析,具体操作配置详情步骤如下所示。

二、操作步骤

  1. 代码示例

import java.util.LinkedList;import java.util.List; public class TestHeap {  public static void main(String[] args) { List<Object> list =new LinkedList<>(); int i =0; while (true){ i++; if(i%1000 ==0){ System.out.println("i:"+i); } list.add(new Object()); } }}

2. 配置jvm参数,运行后报错误.hprof后缀dump文件

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

-Xms40m -Xmx40m -XX:+HeapDumpOnOutOfMemoryError

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

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

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

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

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

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

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


觉得本文对你有帮助?请分享给更多人

关注「互联网技术资源社区」加星标,提升全栈技能


以上是关于通过eclipse MemoryAnalyzer插件对内存溢出进行堆栈轨迹异常分析排除问题(mat用例)的主要内容,如果未能解决你的问题,请参考以下文章

eclipse java MemoryAnalyzer 查询内存泄漏 环境配置

MyEclipse MemoryAnalyzer安装

安卓 内存泄漏 MemoryAnalyzer

堆内存分析

生产环境MAT内存分析流程

Eclipse 内存分析器源 [关闭]