linux cpu占用过高问题排查思路

记录一次cpu占用过高排查思路

运营反馈线上环境app加载缓慢,于是查看了服务器cpu,发现cpu使用率超高。
1,首先根据top命令,发现占用cpu最高的进程PID 如11291.
linux cpu占用过高问题排查思路
通过ps aux | grep PID命令,进一步查看当前进程的具体信息。

ps -mp 14811 -o THREAD,tid,time

linux cpu占用过高问题排查思路
找到耗时最高的线程TID,并将其线程ID转换为16进制格式:
  printf “%x\n” tid
  printf "%x\n" 15989linux cpu占用过高问题排查思路
  3. 打印线程的堆栈信息,thread dump
  jstack pid |grep tid -A 30
  进一步分析堆栈信息,就会定位到问题所在
  jstack pid |grep 3e74 -A 30
  linux cpu占用过高问题排查思路
  这样就可以分析出哪里的问题导致cpu占用率高了。

linux cpu占用过高问题排查思路