转载自http://blog.csdn.net/yanghongchang_/article/details/7711911
@author YHC
前段时间做了一个项目,Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
出现这个错误,所以需要查找原因,所以就用到这个工具,安装比较麻烦,贴出来和大家共享一下:
第一步:下载Eclipse MAT
下载地址:http://www.eclipse.org/mat/downloads.php
第二步:下载之后将压缩包解压,放置到Myeclipse 的\MyEclipse 9\dropins目录下
解压后会看见这些文件: 纠正下面一个错别字不是"写"是 "下"
第三步:按照下图,A,B,C的顺序进行对应的文件的创建
第四部:重启Myeclipse,打开Window->Perferences,你会看见这个项目:
简单的说一下使用(控制台的)如果是tomcat或者是别的服务器需要你去查如何配置JVM参数:
以下是一个会导致java.lang.OutOfMemoryError: Java heap space的程序代码:(very easy)
package org.lx.test; import java.util.Date; import java.util.HashMap; import java.util.Map; public class OutOfMemoryTest { public static void main(String[] args) { Map<Integer,Date> map=new HashMap<Integer, Date>(); for (int i = 0; i < 600000000; i++) { map.put(i, new Date()); } } }
package org.lx.test; import java.util.Date; import java.util.HashMap; import java.util.Map; public class OutOfMemoryTest { public static void main(String[] args) { Map<Integer,Date> map=new HashMap<Integer, Date>(); for (int i = 0; i < 600000000; i++) { map.put(i, new Date()); } } }
首先在运行之前有一些参数需要设置:
然后就到了参数设置的页面,按照A,B的顺序设置参数:(-XX:+HeapDumpOnOutOfMemoryError)避免写错误可以copy
运行错误的程序代码会看见以下结果:
那么这时候就生成了一个文件java_pid3708.hprof,这个文件 在你的项目的根目录下(myeclipse10)
那么接下来我们就打开这个文件进行分析如何打开见下图:(选中刚刚在项目根目录下生成的文件java_pid3708.hprof打开)
打开之后你会看见下图就OK了:
至于这其中问题如何查找请参考以下连接:
以下文章已经说的非常详细了:
1.使用 Eclipse Memory Analyzer 进行堆转储文件分析
如有问题,请指正!谢谢!
相关推荐
MAT是分析Java堆内存的一个工具,全称是 The Eclipse Memory Analyzer Tool,用来帮助分析内存泄漏和减少内存消耗。使用MAT分析Java堆快照,可以快速计算出对象的保留大小(Retained Sizes),查找到阻止对象被回收...
Memory Analyzer Tool,简称MAT,是Oracle公司开发的一款强大的Java内存分析工具,专用于诊断和优化Java应用的内存使用情况。MAT独立版为Mac用户提供了在操作系统环境下独立运行的版本,方便开发者对Mac平台上的Java...
为了有效地检测和解决这些问题,Eclipse Memory Analyzer Tool(简称MemoryAnalyzer,MAT)应运而生。这款强大的分析工具提供了详细的内存分析功能,帮助开发者诊断和修复内存问题,提升应用性能。 MemoryAnalyzer...
内存分析是Java应用程序性能优化的关键环节,而Memory Analyzer Tool (MAT) 是IBM开发的一款强大的内存分析工具,专门用于诊断Java应用程序中的内存泄漏和性能问题。MAT不仅提供了详细的内存使用报告,还能帮助...
MAT(Memory Analyzer Tool)工具是eclipse的一个插件,使用起来非常方便,尤其是在分析大内存的dump文件时,可以非常直观的看到各个对象在堆空间中所占用的内存大小、类实例数量、对象引用关系、利用OQL对象查询,...
MAT 是一个开源的java内存分析工具,能够快速的分析dump文件,可以直观的看到各个对象在内存占用的量大小,以及类实例的数量,对象之间的引用关系,找出对象的GC Roots相关的信息,此外还能生成内存泄露报表,疑似...
MAT(Memory Analyzer Tool)是IBM开发的一款强大的Java内存分析工具,尤其在排查和解决Java应用程序的内存泄漏问题上表现出色。这款工具与JDK8版本兼容,因此标题中提到的"MAT MemoryAnalyzer JDK8版本"是指MAT可以...
MAT(Memory Analyzer Tool),一个基于Eclipse的内存分析工具,是一个快速、功能丰富的JAVA heap分析工具,它可以帮助我们查找内存泄漏和减少内存消耗。使用内存分析工具从众多的对象中进行分析,快速的计算出在内存...
《深入理解MemoryAnalyzer(MAT):Android内存泄漏分析利器》 MemoryAnalyzer,简称MAT,是IBM公司开发的一款强大的Java内存分析工具,尤其在处理Android应用的内存泄漏问题时,MAT显得尤为关键。本文将深入探讨...
Memory Analyzer Tool工具的插件,解压至工具根目录即可使用,用于分析IBM OPENJ9的dump文件。具体操作为:在paas环境上使用kill -3 pid命令会生成两个文件,dump和javacore,其中dump指文件名如 dump-dump-user-2020...
MAT(Memory Analyzer Tool)是Eclipse项目开发的一款强大的Java内存分析工具,主要用于诊断Java应用程序的内存泄漏和性能问题。在标题中提到的“Eclipse Memory Analyzer Version 1.7.0.rar”是一个压缩包,其中...
MAT,全称Memory Analyzer Tool,是由Eclipse基金会开发的一款强大的Java内存分析工具。这款工具主要用于检测和诊断Java应用程序中的内存泄漏、内存占用过高以及垃圾回收问题。MAT支持分析.hprof文件,这是一种由...
MemoryAnalyzer For Mac 百度网盘 解压后是mat.app。 类似执行以下命令:(注意换成自己的地址) /pllhome/software/Linux/mat.app/Contents/MacOS/MemoryAnalyzer -data ./workspace
Eclipse Memory Analyzer(MAT,全称Memory Analyzer Tool)是一款强大的Java内存分析工具,尤其在Mac平台上,它提供了独立于Eclipse环境的版本,方便开发者直接使用。MAT的主要目标是帮助开发者诊断和解决Java应用...
MAT 软件版本解压后目录内有个MemoryAnalyzer.ini文件,该文件里面有个Xmx参数,该参数表示最大内存占用量,默认为1024m,根据堆转储文件大小修改该参数即可。 1. MemoryAnalyzer.ini中的参数一般默认为-vmargs– ...
为了帮助开发者更好地理解和优化Java应用程序的内存使用,Eclipse提供了Memory Analyzer Tool(MAT),一个强大的内存分析工具。本文将详细介绍MAT在Windows 64位系统中的使用,以及如何利用MAT对dump文件进行分析。...
内存分析是Java应用程序性能优化的关键环节,而Memory Analyzer Tool (MAT) 是IBM提供的一款强大的、独立的内存分析工具,它并非作为Eclipse的集成插件存在。MAT的强大之处在于其能够帮助开发者深入理解应用程序的...
### 使用Memory Analyzer Tool (MAT) 分析内存泄漏 #### 前言 在日常工作中,开发者时常会遭遇 `OutOfMemoryError`(内存溢出错误)。此类错误通常表明应用程序出现了重大问题,甚至可能导致系统崩溃。因此,准确地...
Eclipse Memory Analyzer(MAT)是一款强大的Java内存分析工具,它被广泛用于诊断和解决Java应用程序中的内存泄漏问题。MAT 1.8.1是适用于macOS的特定版本,旨在帮助开发者深入理解并优化他们的Java应用内存使用情况...