线上CUP过高,定位代码

最近出现的一个实际故障为例,介绍怎么定位和解决这类问题。

首先在linux系统中,输入top命令查看对应cpu消耗最高的线程,在找对应的pid.

假设以我这个为例

发现改进程的pid是:8583

通过ps aux | grep PID命令,可以进一步确定是什么进程出问题了

首先显示线程列表:

#  ps  -mp  pid  -o  THREAD,tid,time

其次将需要的线程ID转换为16进制格式:

最后打印此进程下线程的堆栈信息:

#  jstack  pid   |   grep  tid   -A  60
posted @ 2022-05-26 15:53  Libbo-yu  阅读(24)  评论(0编辑  收藏  举报