Eclipse Memory Analysis的安装和使用

来源:互联网 发布:网络交友英语作文题目 编辑:程序博客网 时间:2024/05/16 09:33

Eclipse Memory Analysis的安装和使用

  简单描述一下Eclipse中Memory Analysis toos插件的安装和使用,以下简称MAT。
  


1. 安装

  在Eclipse help -> Eclipse Marketplace下搜索Memory:
搜索MAT插件

图 1-1 搜索MAT插件

  按照步骤安装完成重启即可。

2. 测试

测试代码

/** *  * @description HeapOOM * <p>Java堆异常测试</p> * <code>VM Args: -Xms20m -Xmx20m -XX:+HeapDumpOnOutOfMemoryError</code> * <p>以上参数的含义是:限制Java堆大小为20MB,不可扩展</p> * <p>通过此参数可以让虚拟机在出现内存溢出异常时Dump出当前的内存堆转储快照</p> * @author Yampery * @date 2017年6月16日 下午11:42:46 */public class HeapOOM {    static class OOMObject { }    public static void main(String[] args) {        List<OOMObject> list = new ArrayList<OOMObject>();        while (true) {            list.add(new OOMObject());        } /// while end    } /// main} ///~/** * 运行结果: * java.lang.OutOfMemoryError: Java heap space * Dumping heap to E:\job\java_pid4056.hprof ... * Heap dump file created [28010445 bytes in 0.373 secs] * Exception in thread "main" java.lang.OutOfMemoryError: Java heap space */

Eclipse中的运行参数设置

-Dfile.encoding=UTF-8    -Xms20m -Xmx20m ##设置堆大小20m,并将最小和最大值设置相等,避免扩展-XX:+HeapDumpOnOutOfMemoryError ##dump出当前的内存堆转储快照-XX:HeapDumpPath=E:\job   ##指定路径(转储文件还是挺大的)-XX:SurvivorRatio=8    ## 存活比2:8

运行参数

图2-1 eclipse运行参数设置

3. 打开堆转储快照

  通过上述可以看见堆转储快照文件是.hprof 文件。
打开MAT
打开界面

图 3-1 设置界面显示MAT

打开dump

图 3-2 打开或获取dump

打开dump文件
  默认打开Leak Memory(泄漏)
这里写图片描述

图 3-3 dump文件