Eclipse Memory Analysis的安装和使用

转自:https://blog.csdn.net/wizard_rp/article/details/73266194

  简单描述一下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
 */

 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31

Eclipse中的运行参数设置

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

运行参数

图2-1 eclipse运行参数设置

3. 打开堆转储快照

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

图 3-1 设置界面显示MAT

打开dump

图 3-2 打开或获取dump

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

图 3-3 dump文件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值