JVM问题排查指令总结
常用分析指令
查看各个类的实例大小与个数
sudo -u tomcat jmap -histo pid
DUMP内存,获取对应的内存快照
sudo -u tomcat jmap -dump:format=b,file=dumpxx.bin pid
CPU飙高排查线程信息
top -Hp pid
查看Java进程信息 p : 根据CPU使用百分比大小进行排序printf "%x\n" 21742
将CPU高的线程ID转换成十六进制sudo -u tomcat jstack -l 21711 | grep 54ee
查看线程栈中对应CPU高的线程信息统计进程状态个数
sudo -utomcat jstack 5020 |grep 'java.lang.Thread.State' | awk '{print $2,$3,$4,$5}' | sort | uniq -c
MAT 使用简介
Shallow Heap :一个对象内存的消耗大小,不包含对其他对象的引用; Retained Heap :是shallow Heap的总和,也就是该对象被GC之后所能回收的内存大小 在某一项上右键打开菜单选择 list objects : with incoming references 将列出哪些类引入该类; with outgoing references 列出该类引用了哪些类
Last updated
Was this helpful?