CPU飙高排查方案与思路
- 使用
top命令查看CPU占用情况

- 通过top命令查看后,可以查看是哪一个进程占用cpu较高,上图所示的进程为:30978
- 查看当前线程中的进程信息
# pid为进程id, tid为线程id, %cpu代表查看cpu的使用率
ps H -eo pid,tid,%cpu | grep 30978

- 通过上图分析,在进程30978中的线程30979占用cpu较高。注意:上述的线程id是一个十进制,我们需要把这个线程id转换为16进制才行,因为通常在日志中展示的都是16进制的线程id名称 linux中执行命令
printf "%x\n" 30979

- 可以根据线程 id 找到有问题的线程,进一步定位到问题代码的源码行号
jstack 30978 此处是进程id


浙公网安备 33010602011771号