cpu占用率过高如何排查问题
问题分析:CPU ⾼一定是某个程序长期占⽤了 CPU 资源。
1)所以先需要找出那个进程占用 CPU ⾼。
top 列列出系统各个进程的资源占⽤用情况。
2)然后根据找到对应进⾏行⾥里哪个线程占⽤用 CPU ⾼高。
top -Hp 进程 ID 列列出对应进程⾥里里⾯面的线程占⽤用资源情况
3)找到对应线程 ID 后,再打印出对应线程的堆栈信息
printf "%x\n" PID 把线程 ID 转换为 16 进制。
jstack PID 打印出进程的所有线程信息,从打印出来的线程信息中找到上⼀一步转换为 16 进制的线程 ID 对应
的线程信息。
4)最后根据线程的堆栈信息定位到具体业务方法,从代码逻辑中找到问题所在。
浙公网安备 33010602011771号