转:MyEclipse安装Eclipse Memory Analyzer插件,并进行错误文件分析流程

转自 http://www.cnblogs.com/nb44c/p/5218880.html

1.先安装MAT插件

  1. Memory Analyzer 插件下载地址:http://www.eclipse.org/mat/downloads.php

  2. 点击进行下载

火狐截图_2016-02-25T16-12-52.948Z

3.将下载的文件解压到MyEclipse的  dropins  文件夹下

image

4.创建和文件夹同名的.link文件,文件中的内容就写上对应的地址(地址使用\ 或者 /)

image

5.重启MyEclipse,即可在window---->preferances中看到Memory Analyzer选项。

image

 

 

2.使用MAT工具进行分析实例

1.创建测试Java代码

复制代码
/**
 * 

   -verbose:gc -Xms20M -Xmx20M 
   -XX:+HeapDumpOnOutOfMemoryError

 * @author y
 *
 */
public class Test {

    static class OOMObject{
        
    }
    
    public static void main(String[] args) {
        List<OOMObject> list = new ArrayList<OOMObject>();
        
        while(true){
            list.add(new OOMObject());
        }
    }
   
}
复制代码

2.设置运行参数

image

image

参数解释:

1,是存储对象实例的,即自己写的类都是在堆中进行内存分配的;设置堆的大小:-Xmx20M(最大值) ,-Xms20M(最小值)。 
2,是存储局部变量,操作栈,动态链接,方法出口(都在栈桢中) 的地方,调用方法时,会创建栈桢;设置栈的大小:-Xss128K。 
3,方法区是存放Class的相关信息,如类名,访问修饰符,常量池,字段描述,方法描述等。此外运行时常量池是属于方法区的,即存放常量,静态常量等;设置方法区大小,-XX:PermSize=10M和-XX:MaxPermSize=10M。 
4,本地直接内存;设置本地直接内存大小:-XX:MaxDirectMemorySize(默认与-Xmx的值一样)。

3.运行程序,将会出现如下信息

分析:参照一下博客

http://www.ibm.com/developerworks/cn/opensource/os-cn-ecl-ma/index.html?ca=drs-

http://essen.iteye.com/blog/1825314

http://tivan.iteye.com/blog/1487855

原文地址:https://www.cnblogs.com/rrttp/p/7616085.html