[排查思路]cpu使用率高,但是找不到进程占用

2019-12-18  本文已影响0人  崔天浩
  1. 首先我们通过top查看user cpu使用量,已经达到80%,但是看不到哪个进程占用
  2. 然后通过pidstat 查看cpu进程,也没有找到占用cpu使用量高的进程
  3. 然后我通过vmstat 查看r列活跃进程数,发现已经有超过CPU个数的活跃进程占用CPU
  4. 通过ps aux | grep R 查看活跃进程,执行多次可以发现多个“短时进程”启动停止
  5. perf record -g,perf report 抓CPU性能事件,发现很多相同“短时进程”每个进程占用CPU不对,但是进程比较多
  6. pstree | grep "短时进程名称" 来分析是哪个进程制造的“短时进程”,需要对这个进程进行代码分析
  7. 可以定位为“短时进程”进程过多导致user CPU使用率升高,因为进程启动结束时间较短,所以top,pidstat不容易发现
  8. 假如抓取“短时进程”可以使用execsnoop工具,它通过ftrace实时监控进程的exec()行为,并输出“短时进程”的基本信息,PID,父进程PID

造成“短时进程”原因:

上一篇 下一篇

猜你喜欢

热点阅读