Load Averages
这里的 Load Averages 指的是系统平均负载(System Load Averages),包括正在运行的进程和正在等待的进程对于系统的压力,不仅包括正在运行的进程和正在等待的进程对 CPU 的压力,也包括正在运行的进程和正在等待的进程对磁盘的压力(I/O);或者可疑简单的理解为非完全空闲进程的测量度值。它测量三个时间段,即 1 分钟、5 分钟和 15 分钟。
- 如果所有值为 0, 说明系统很空闲
- 如果 1 分钟的值比 5 分钟、15 分钟的大,说明系统负载在上升
- 如果 1 分钟的值比 5 分钟、15 分钟的小,说明系统负载在下降
- 如果所有值大于 CPU 个数,那么系统有可能存在性能问题
cpu 使用率
us: 用户空间占用 cpu 的百分比
sy:内核空间占用 cpu 百分比
ni:改变过优先级的进程占 cpu 百分比
id:空闲 cpu 的百分比
wa:磁盘 IO 等待占 cpu 百分比
hi:硬中断占 CPU 百分比
si:软中断占 CPU 百分比
st:虚拟 cpu 占 cpu 的百分比
正常情况下,cpu 使用率高,load 也会比较高。cpu 使用率低,load 也会比较低。
也有例外情况:
- load average低,利用率高:如果CPU执行的任务数很少,则load average会低,但是这些任务都是CPU密集型,那么利用率就会高。
- load average高,利用率低:如果CPU执行的任务数很多,则load average会高,但是在任务执行过程中CPU经常空闲(比如等待IO),那么利用率就会低。
某个进程CPU百分比大于top系统CPU百分比情况
原因是多核导致,打开top后按1可显示具体的核占用CPU情况