1. jmap&jhat
a. 查看虚拟机进程号
b. 生成内存快照文件
jmap -dump:format=b,file=a.bin 27088
c. 加载快照文件
jhat a.bin
d. 访问localhost:7000
4. 问题排查
jps或者ps -ef|grep 'xxx'找到对应的进程
jstat -gcutil 116961000 // 每隔1s钟打印对应的线程236的内存等情况
top -H -p 236 查看236进程对应的cpu使用等情况
将内部线程号转为16进制(计算器工具支持)
jstack -l 12180|grep 0x605F -A 50 其中12180为对应的进程号,0x605F为系统线程16进制形式
5. mat工具分析
jmap生成快照,借由mat等工具进行可视化分析。