MAT内存溢出分析
MAT是什么
MAT(Memory Analyzer Tool),一个基于Eclipse的内存分析工具,是一个快速、功能丰富的JAVA heap分析工具,它可以帮助我们查找内存泄漏和减少内存消耗。使用内存分析工具从众多的对象中进行分析,快速的计算出在内存中对象的占用大小,看看是谁阻止了垃圾收集器的回收工作,并可以通过报表直观的查看到可能造成这种结果的对象
如何使用
生成dump文件
- 通过JMX的MBean生成当前的Heap信息,大小为一个3G(整个堆的大小)的hprof文件,
- 如果没有启动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 会自动分析
安装分析工具
通过eclipse的 Marketplace 安装 mat
eclipse 官网直接下载
镜像请选择国内镜像