Concept
top命令显示当前机器运行状况。 load average: 0.02, 0.04, 0.00。这三个数表示最近1分钟、5分钟和15分钟的系统平均负载。 系统平均负载被定义为在特定时间间隔内运行队列中(在CPU上运行或者等待运行多少进程)的平均进程数。 在Linux中,进程分为三种状态,一种是阻塞的进程blocked process, 一种是可运行的进程runnable process,另外就是正在运行的进程running process。 平均负载的最佳值是1,这意味着每个进程都可以在一个完整的CPU 周期内完成。
cpu load高的排查思路
1.top,查看占用cpu较高的进程 2.top -H -p $pid, 发现该进程里有大量线程CPU使用率都超过10%, 并没有占用100%的情况(排除死锁的情况) 3.jstack $pid,将2中得到线程CPU使用高的线程id,转成16进制(printf 0x%x 10641), 如线程id 10641,16进制为0x2991, 找到该线程执行信息.