1. 排查cpu占用过高
1.输入top命令查看cpu占用最高的进程(如pid:2308)
2.查看哪个线程占用cpu最高 ps -mp 2308 -o THREAD,tid,time(如线程TID占用cpu占用最高:2320)
3.把TID2320转为16进制,printf "%x\n" 2320 (返回910)
4.拉出指定线程的堆栈信息:jstack 2308 |grep 910 -A100
2. 排查内堆存溢出
java程序启动时,添加命令-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=./ 堆内存溢出时会生成dump日志
利用MAT对dump文件进行分析