java虚拟机dump分析入门
1、在目标主机生成dump文件
ssh svr_message #ssh到目标主机
ps aux|grep java #查找目标java进程pid
sudo -u admin jmap -dump:format=b,file=/home/admin/zhujl.dump 15065 #生成目标dump文件,正常花费若干秒到若干分钟
2、压缩dump文件
一般生产的dump文件都很大(比如此处有1.9GB),直接下载很耗时间;需要压缩后再下载到本地。
[email protected]-notify1:/home/admin$ sudo -u admin gzip zhujl.dump
[email protected]-notify1:/home/admin$ ll -h
total 243M
-rw------- 1 admin admin 243M May 24 17:44 zhujl.dump.gz
3、下载到本地
sudo -u admin sz zhujl.dump.gz #用sz命令
4、解压gz,将文件后缀名改为MAT可分析的.dmp
5、导入MAT
File > open file > 选择 zhujl.dmp(注意如果是非.dmp后缀文件会报告文件打开失败!)
成功打开的页面
FAQ
1、如果MAT内存不足怎么办?
调高MemoryAnalyzer.ini 里-Xmx2560m参数
2、MAT下载运行不了怎么办
MAT要求JDK1.7以上版本才能运行