一般CPU高,很多都是由于java进程引起的
1. 执行top命令,排查占cpu最高的进程,查看pid
2.执行top -H -p pid(上一步的pid),查看最高实际占用CPU最高的的线程tid(线程ID就是此命令结果第一列PID的值),或者执行命令ps H -eo pid,tid,%cpu | grep pid 查看tid
3. 执行
printf "%x\n" tid
,将10进制线程ID转换为16进制
4.执行命令
jstack pid |grep tid -A 50
,(tid为上一步转换后的16进制数据),使用此命令可以查看到对应线程的线程堆栈信息,进而对代码进行分析