学习jvm,关于MAT an internal error occurred during:"Parsing heap dump" from问题

写了一个死循环不断的创建对象,模拟内存溢出

 1 package com.zuo.test1;
 2
 3 import java.util.ArrayList;
 4 import java.util.List;
 5
 6 public class Main {
 7
 8     public static void main(String[] args) {
 9         List<Demo> demos=new ArrayList<>();
10         while(true){
11             demos.add(new Demo());
12         }
13     }
14
15
16 }

修改启动参数。

Apply

运行。

出现堆溢出错误,这时就会在本项目下出现xxx.hprof

然后再使用MAT工具引入此文件。进行分析。

通过MAT发现heap dump问题所在,就需要寻找导致内存泄漏的代码点。这时往往需要打开对象依赖关系树形视图,点击如图按钮即可。

为了更有效率的使用 MAT,我们可以配置一些环境参数。因为通常而言,分析一个堆转储文件需要消耗很多的堆空间,为了保证分析的效率和性能,在有条件的情况下,我们会建议分配给 MAT 尽可能多的内存资源。你可以采用如下两种方式来分配内存更多的内存资源给 MAT。

一种是修改启动参数 MemoryAnalyzer.exe-vmargs -Xmx4g

另一种是编辑文件 MemoryAnalyzer.ini,在里面添加类似信息 -vmargs– Xmx4g。

说明:

1. MemoryAnalyzer.ini中的参数一般默认为-vmargs– Xmx1024m,这就够用了。假如你机器的内存不大,改大该参数的值,会导致MemoryAnalyzer启动时,报错:Failed to create the Java Virtual Machine。

2.当你导出的dump文件的大小大于你配置的1024m(说明1中,提到的配置:-vmargs– Xmx1024m),MAT输出分析报告的时候,会报错:An internal error occurred during: "Parsing heap dump from XXX”。适当调大说明1中的参数即可。

原文地址:https://www.cnblogs.com/ZuoAndFutureGirl/p/9029419.html

时间: 2024-10-29 19:10:50

学习jvm,关于MAT an internal error occurred during:"Parsing heap dump" from问题的相关文章

Eclipse:An internal error occurred during: &quot;Build Project&quot;. GC overhead limit exceeded

在使用Eclipse的Build Project功能时,提示以下错误: An internal error occurred during: "Build Project". GC overhead limit exceeded 如图: 搜索的一下,是属于java.lang.OutOfMemoryError. OOM大家都知道,就是JVM内存溢出了,那GC overhead limit exceed呢? GC overhead limt exceed检查是Hotspot VM 1.6定

An internal error occurred during: &quot;Requesting JavaScript AST from selection&quot;. GC overhead limit exc

1.错误描述 An internal error occurred during: "Requesting JavaScript AST from selection". GC overhead limit exceeded 单击"OK"后,提示如下图所示: 2.错误原因 由于用Eclipse编写JavaScript时,出现了return,位置不对,导致错误 3.解决办法 Windows--->Preference--->JavaScript (1)图一

Maven 项目报错An internal error occurred during: &quot;reload maven project&quot;.

1.有时候因为网络的原因,maven工程下载jar包失败,会一直卡住,很慢,什么操作都做不了,我们通常就会直接强制关闭掉Eclipse,但是这样下次启动的时候就会有问题: 通常会报:"An internal error occurred during: "reload maven project". java.lang.NullPointerException" 解决办法: 1.备份原工作目录中的项目 2.删除掉Eclipse原工作目录 2.switch 一个wor

Eclipse无法启动报An internal error occurred during: &quot;reload maven project&quot;. java.lang.NullPointerException

由于没有正常关机导致eclipse无法将数据正常写入配置文件导致无法启动.报这样一个异常 An internal error occurred during: "reload maven project". java.lang.NullPointerException 查看workspace/.metadata/.log发现如下异常: !ENTRY org.eclipse.core.resources 2 10035 2015-12-15 09:31:13.488 !MESSAGE T

Eclipse运行时发生An internal error occurred during:“**************” 的解决办法

原因分析: 当前工作目录下的 .project 文件 不一致 例如1: 南京大学 Mooctest 提交考试试卷时出现的:An internal error occurred during:“提交考试结果” 例如2:Eclipse启动时发生An internal error occurred during: "Initializing Java Tooling". 解决方案:删除当前工作目录下的WORKSPACE_HOME/.metadata/.plugins/org.eclipse.

android 细节之An internal error occurred during: &quot;Launching New_configuration&quot;.

今天在导入公司的一个小demo时候发现了一个很有意思的错误. An internal error occurred during: "Launching New_configuration". Path for project must have only one segment. 于是上网搜寻了一下怎么解决: 具体的解决方法有两种: 一.Run Configuration-->project加入你的项目名称 二.在Eclipse中按照如下操作 Project -> Pro

android 细节之An internal error occurred during: &amp;quot;Launching New_configuration&amp;quot;.

今天在导入公司的一个小demo时候发现了一个非常有意思的错误. An internal error occurred during: "Launching New_configuration". Path for project must have only one segment. 于是上网搜寻了一下怎么解决: 详细的解决方法有两种: 一.Run Configuration-->project增加你的项目名称 二.在Eclipse中依照例如以下操作 Project ->

eclipse里报:An internal error occurred during: &quot;Building workspace&quot;. Java heap space

当在eclipse中的web工程中增加了extjs4,出现An internal error occurred during: "Building workspace". Javaheap space 错误. 解决办法1:把extjs4的工程安装包不要放到web工程中就ok或者建议直接用myeclipse直接导入的exjts4包,就没问题. 解决办法2:导入ExtJS包,这样会卡死eclipse的.去到工程根目录下,找到.project,用记事本打开,把两处删除掉: 第一处: <

Eclipse启动时出现错误 An internal error occurred during: “Updating indexes”

在Eclipse的workspace下有个.metadata文件夹,Eclipse出现异常的log文件就在这个目录下. 最近出现了这样的错误: 查看日志文件发现:     !ENTRY org.eclipse.core.jobs 4 2 2011-08-03 09:33:32.843     !MESSAGE An internal error occurred during: "Updating indexes".     !STACK 0     java.lang.OutOfMe