CPU占用过高
1、top命令找出占cpu过高的进程pid,如9876
2、查看该进程下占用最高的进程【top -Hp 9876】
3、假设2中的线程的tid为6900,将其转换为二进制:【printf ‘%x\n’ 6900】 得到 1af4
4、用jstackd打印出java线程堆栈信息【jstack pid | grep tid(十六进制小写) -A50 --color】
【jstack 9876 | grep '0X1af4' -A50 --color】
内存占用过高
1、查找进程id【top -d 2 -C】
2、查看JVM堆内存分配情况 【jmap -heap pid】
3、查看占用内存较多的对象 【jmap -histo pid | head -n 100】
4、查看占用内存较多的存活对象【jmap -histo:live pid | head -n 100】