Eclipse MAT和jvisualvm分析内存溢出

---------------------------------------------mac os版------------------------------------------------------

MAT是内存分析工具

1、下载

http://www.eclipse.org/mat/downloads.php

2、解压后得到

a

 

3、运行并指定需要分析的dump文件,得到eclipse试图

 

4. 核心报表 class histogram

check 是否有超大对象滞留

 

 

--------------------------------------------------------------------------------windows----------------------------------------------------------------------------

 

1、mat 下载地址 https://www.eclipse.org/mat/downloads.php(注意本地jdk是64的就下载64位),下载下来解压就以用,同上macos差不多。

2、 jvisualvm,是jdk自带的,本地的打开本地jdk安装路径  jvisualvm.exe,mac os也可以打开。

 

 

****************************************************************重点如下*************************************************************************************

1、场景概述:内存溢出情况,如何定位去分析(Exception in thread "main"java.lang.OutOfMemoryError: Java heap space)

2、配置你的工程jvm启动参数加入重要参数(-XX:+HeapDumpOnOutOfMemoryError),这个参数配置完成后,系统发生OutOfMemoryError发生时自动生成 Heap Dump 文件,

   然后分析dump文件,Java内存使用情况时,往往是在OOM(OutOfMemoryError)发生时。

 

操作例子如下:

1)创建一个demo工程,加入HeapLeak类

 

2)然后配置你的vm options参数:-Xms20m -Xmx20m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=D:\opt\HeapLeak.hprof

  开发环境,测试环境,预发布环境,生产环境(可以在jenkins配置,大家可能没有权限)

  

3)运行结果,当出现内存溢出时,会生成dump文件

4)jvisualvm分析文件(可以是.dump结尾的文件也可以是.hprof的文件),查看概要基本信息中会指出oom的异常问题,

会找到你内存溢出的主因,查看如下:

5)mat分析文件,图中指出区域发生内存溢出的区域,点击details可以查看具体oom

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值