trouble-shooting

CPU 100% 问题排查

CPU为什么会100%

CPU是时分(time division)的,操作系统里有很多线程,每个线程的运行时间由CPU决定,CPU会分给每个线程一个时间片,时间片是一个很短的时间长度,如果在时间片内,线程一直占有,则是100%;我们应该意识到,CPU运行速度很快(主频非常高),除非密集型耗费cpu的运算,其它类型任务都会在小于时间片的时间内结束。

排查步骤

  1. 利用top+ps命令找到占用CPU的进程 top -p <PID> -H查看进程对应的线程占用CPU

  2. 如果是Java进程,继续找出占用CPU的线程 利用jstack将Java进程的线程栈导出,利用可视化工具进行分析

  3. 检查代码

xxx

Last updated