1、监控目的

2、常用分析工具

3、分析案例-MAT
MAT 介绍及分析:
启动MAT, 然后选择菜单项 File- Open Heap Dump 来加载需要分析的堆转储文件。文件加载完后,可以看到如图 1所示的界面:

从图1可以看到他的大部分功能:
 Histogram 可以列出内存中的对象,对象的个数及大小
 Dominator Tree 可以列出哪个线程以及线程执行的哪些对象占用空间
 Top consumers 通过图形列出最大的object
 Leak Suspects 通过MA自动分析泄漏的原因。
Histogram 如图2:
Objects:类的对象数量
Shallow size:对象本身占用内存的大小,不包含对其他对象的引用,也就是对象头加成员变量(不是成员变量的值)和总和。:
Retained size:是该对象自己的shallow size+ 从该对象直接或间接访问到对象的shallow size之和。换句话说,retained size 是该对象被GC之后所能回收到内存的总和。

从图2 可以发现,java.util.HashMap 类的对象占用的很多的空间。

Dominator Tree 如图3:
从图3 中可以发现com.csii.ibs.lc.ClusterOnlineUserRegistry 占了很多内存空间

Top Comsumers 如图4:
显示内存中最大的对象有哪些,及其对应的类是哪些,类加载器classloader是哪些。有些时候我们在这里可以看到代码泄漏的位置。

4、案例一则:
今天线上业务JVM监控出现有内存泄露情况

选择 Path To GC Roots ->exclude weak references,过滤

然后就很直观的分析出什么导致的了,然后优化。

Analyzer tool(MAT)分析JVM内存泄露案例相关推荐

  1. 使用Memory Analyzer tool(MAT)分析内存泄漏(一)

    使用Memory Analyzer tool(MAT)分析内存泄漏(一) (2010年05月21日) 发表于 Java博客 前言的前言 :本文是自 2005 年 8 月以来,首次在一个月之内发布三篇文 ...

  2. 使用Memory Analyzer tool(MAT)分析内存泄漏

    http://www.blogjava.net/rosen/archive/2010/05/21/321575.html http://www.blogjava.net/rosen/archive/2 ...

  3. 使用Memory Analyzer tool(MAT)分析内存泄漏(二)

    前言 在 使用Memory Analyzer tool(MAT)分析内存泄漏(一)中,我介绍了内存泄漏的前因后果.在本文中,将介绍MAT如何根据heap dump分析泄漏根源.由于测试范例可能过于简单 ...

  4. 如何使用MAT进行JVM内存泄露分析

    转载自  如何使用MAT进行JVM内存泄露分析 在<Java Agent的隔离实现以及卸载时一些坑>中,卸载Agent之后,使用 jmap-histo:live pid命令验证执行FGC, ...

  5. jvm性能分析工具之-- Eclipse Memory Analyzer tool(MAT)

    性能分析工具之-- Eclipse Memory Analyzer tool(MAT)(一) 前言 性能分析工具之-- Eclipse Memory Analyzer tool(MAT)(一)中介绍了 ...

  6. 使用MAT(Memory Analyzer Tool)工具分析dump文件--转

    原文地址:http://gao-xianglong.iteye.com/blog/2173140?utm_source=tuicool&utm_medium=referral 前言 生产环境中 ...

  7. linux分析mat使用教程,使用MAT(Memory Analyzer Tool)工具分析dump文件

    <使用MAT(Memory Analyzer Tool)工具分析dump文件> 前言 生产环境中,尤其是吃大内存的JVM,一旦出现内存泄露等问题是非常容易引发OutofMemory的,如果 ...

  8. 记录一次生产环境下的jvm内存泄露问题和分析解决过程!

    作者:未完成交响曲,资深Java工程师!目前在某一线互联网公司任职,架构师社区合伙人! 发现异常 首先通过我们内部搭建的日志平台发现我们线上环境一个java应用有大量的http接口请求超时,登录lin ...

  9. videocapture.read()解决内存泄露_只需4个步骤,分析解决在生产环境下JVM内存泄露问题...

    作者:未完成交响曲 发现异常 首先通过我们内部搭建的日志平台发现我们线上环境一个java应用有大量的http接口请求超时,登录linux服务器查看网络环境没有问题,判断是应用自身运行异常,重启应用后发 ...

最新文章

  1. 2020年度“中国神经科学重大进展”获奖名单【附成果介绍】
  2. 聚合函数的计算机控件,使用Kendo UI MVC Grid包装器的聚合函数
  3. 入门Leaflet之小Demo
  4. AbstractQueuedSynchronizer浅析——同步
  5. 如果把去掉数组里面重复的项
  6. 为什么网上都推荐下载jdk8和jdk11,而没有人推荐最新的15
  7. @开发者 争抢技术红利,百度自研 4 款人脸硬件要和大家见面了!
  8. 关于SSH使用的一些经验
  9. 书单|VR开发内功修炼书单
  10. 省级面板数据(1990-2019):能源消费(煤炭、焦炭、石油、原油等)excel或stata版本
  11. 2020-2022 抗疫营销案例合集(共17份)
  12. Sniffer数据报文解码详解
  13. 每个客户看待期货开户公司的角度不一样
  14. android opencv hu 不变矩,图像的矩(含hu不变矩)
  15. 不看后悔!圈内老手总结的18条嵌入式 C 实战经验
  16. vue 项目使用 Clipboard-复制文本或图片到剪贴板
  17. teradata查看正在运行的进程_一种基于greenplum数据库的状态检查及性能监控工具.doc...
  18. [笔记]Class.forName 时static代码的运行
  19. 竞品分析——崩坏3 战双帕弥什
  20. 深圳荣耀Java后端一面

热门文章

  1. 取消大小周的第一个周末,我吃了顿烤串
  2. 一位职场老鸟的 10 年复盘,帮你避坑不吃亏!
  3. “拒绝在 iPad 上运行 Xcode!”
  4. 马斯克,带动大盘的男人:财报一出市值飙升 840 亿!
  5. IDEA坑爹跟新的小BUG解决之道
  6. Android 文件操作
  7. Android 7.0 出现 ”FileUriExposedException“ 和 ”解析包出现错误“ 异常的解决办法...
  8. PHP中Cookie的使用---添加/更新/删除/获取Cookie 及 自动填写该用户的用户名和密码和判断是否第一次登陆...
  9. Bzoj3730 震波
  10. AC日记——热浪 codevs 1557 (最短路模板题)