1、jhat分析dump文件
通过上一篇文章,可以将jvm的内存dump到文件中,由于文件是二进制文件,不方便查看,因此,我们可以利用jhat工具来进行查看。
用法:jhat -port <port> <file>
实例:
[root@node01 ~]# jhat -port 9999 dump.dat
Reading from dump.dat...
Dump file created Tue Jul 30 16:15:06 CST 2019
Snapshot read, resolving...
Resolving 40931 objects...
Chasing references, expect 8 dots........
Eliminating duplicate references........
Snapshot resolved.
Started HTTP server on port 9999
Server is ready.
然后浏览器打开ip:9999
2、通过MAT工具分析JVM内存
2.1、MAT工具介绍
MAT(Memory Analyzer Tool),一个基于eclipse的内存分析工具,是一个快速、功能丰富的JAVA heap分析工具,它可以帮助我
们查找内存泄漏和减少内存消耗。使用内存分析工具从众多的对象中进行分析,快速的计算出在内存中,对象的占用大小,看看是谁组织了垃圾
收集器的回收工作,并可以通过报表直观的查看可能造成这种结果的对象。
官网地址:https://www.eclipse.org/mat/
2.2、下载安装
下载地址:https://www.eclipse.org/mat/downloads.php, 根据自己的情况选择相应的版本
下载完毕之后,解压即可,点击MemoryAnalyzer.exe文件
2.3、分析JVM内存
首先需要把上一篇写入的dump.dat文件下载到本地,然后打开MAT工具,选择“File” —> “Open Heap Dump”,选择dump文件,
点击“Finish”,之后会生成如图的信息,之然后就可以对关心的内容进行分析处理了。