200319-MAT内存溢出分析

MAT内存溢出分析

MAT是什么

MAT(Memory Analyzer Tool),一个基于Eclipse的内存分析工具,是一个快速、功能丰富的JAVA heap分析工具,它可以帮助我们查找内存泄漏和减少内存消耗。使用内存分析工具从众多的对象中进行分析,快速的计算出在内存中对象的占用大小,看看是谁阻止了垃圾收集器的回收工作,并可以通过报表直观的查看到可能造成这种结果的对象

all

如何使用

生成dump文件

  1. 通过JMX的MBean生成当前的Heap信息,大小为一个3G(整个堆的大小)的hprof文件,
  2. 如果没有启动JMX可以通过Java的JMAP命令来生成该文件
    命令如下
1
/usr/local/java/jdk1.8.0_144/bin/jmap -dump:live,format=b,file=my.dump 12587

MAT自动分析

通过MAT分析工具,直接打开生成的dump文件,mat 会自动分析

安装分析工具

  1. 通过eclipse的 Marketplace 安装 mat

    step1

    step2

  2. eclipse 官网直接下载

    官网地址

    step1

    镜像请选择国内镜像

    step2

具体使用

概要(overview)

overview

直方图(histogram)

histogram

对象查询(OQL)

OQL

线程整体视图(thread_overview)

thread overview

线程统计视图(histogram_thread_overview)

histogram thread overview

#
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×