本篇文章主要介绍了" Eclipse Memory Analyzer toolMAT使用详细说明",主要涉及到方面的内容,对于web前端感兴趣的同学可以参考一下:
在本文中,将介绍MAT如何根据heapdump分析泄漏根源。由于测试范例可能过于简单,很容易找出问题,但我期待借此举一反三。一开始不得不说说ClassLoade...
java.lang.OutOfMemoryError: Java heap spaceDumping heap to java_pid3600.hprof Heap dump file created [78233961 bytes in 1.995 secs]Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
java_pid3600.hprof既是heap dump,可以在OOMHeapTest类所在的工程根目录下找到。
MAT安装
话分两头说,有了heap dump还得安装MAT。
MAT支持两种安装方式,一种是“独立版本”,用户不必安装 EclipseIDE 环境,MAT 作为一个独立的 EclipseRCP 应用运行;另一种是“插件版本”,也就是说MAT 可以作为 EclipseIDE 的一个插件,和Eclipse开发平台集成。
独立版本,下载地址:http://www.eclipse.org/mat/downloads.php
下载的zip包,解压即可使用。下载页图示如下:

与eclipse IDE集成安装过程,可参看以下文章:
http://www.ibm.com/developerworks/cn/opensource/os-cn-ecl-ma/index.html
安装完成后,为了更有效率的使用 MAT,我们可以配置一些环境参数。因为通常而言,分析一个堆转储文件需要消耗很多的堆空间,为了保证分析的效率和性能,在有条件的情况下,我们会建议分配给 MAT 尽可能多的内存资源。你可以采用如下两种方式来分配内存更多的内存资源给 MAT。
一种是修改启动参数 MemoryAnalyzer.exe-vmargs -Xmx4g