Linux 新手:第一次看 top,load average 三个数到底在说什么

举报
yd_293738966 发表于 2026/10/28 10:42:15 2026/10/28
【摘要】 第一次看 top 时,load average 的三个数不是 CPU 百分比,而是 1、5、15 分钟的排队平均长度。本文讲清如何对照核数看趋势、区分 CPU 不足与磁盘 I/O 等待,并给出每次看 top 的固定顺序。

Linux 新手:第一次看 top,load average 三个数到底在说什么

第一次在服务器上敲 top,第一行那三个数字最容易把人看懵:load average: 0.50, 0.80, 1.20。这三个数是什么意思?是不是越大越危险?今天一次讲清楚。

三个数是三个时间窗口的平均值

这三个数依次是过去 1 分钟、5 分钟、15 分钟的系统平均负载。它们不是 CPU 使用率,也不是百分比,而是一个“排队长度”的平均值:有多少进程正在使用 CPU,或者正在排队等 CPU。
所以读这三个数要连起来看趋势:1 分钟的值比 15 分钟的高,说明负载正在上升;反过来,说明负载正在回落。只看某一个数,容易误判。

判断高低,要先看你有几核

负载本身没有绝对的好坏标准,必须对照 CPU 核数。先跑 nproc 看核数,再对比:

  • 4 核机器,load 长期在 4 左右,说明 CPU 刚好跑满,不算过载。
  • 4 核机器,load 长期在 8 以上,说明进程排队严重,响应会变慢。
  • 1 核机器,load 长期超过 1,就已经在排队了。
    新手最常见的误解,是把 load 1.0 当成“用了 100%”。不是的。load 1.0 在 1 核机器上是刚好跑满,在 8 核机器上只用了八分之一。脱离核数谈 load,没有意义。

负载高,但 CPU 没跑满,怎么回事

还有一种情况更迷惑人:load 很高,可 CPU 使用率并不高。这时多半是进程在等磁盘 I/O。Linux 把“正在等磁盘”的进程也算进负载里(在 top 里对应 D 状态,%wa 这一列能看到 I/O 等待的比例)。
怎么区分:进 top 后看 %wa。如果 %wa 长期很高,先查磁盘而不是加 CPU:看看是哪个进程在大量读写,是不是日志打爆了、备份任务撞上了业务高峰。只盯着 CPU 扩容,解决不了 I/O 引起的排队。

新手看 top 的固定顺序

以后每次打开 top,按这个顺序看,不容易跑偏:

  1. 第一行看 load average 三个数,判断趋势是升还是降。
  2. nproc 看核数,对照判断是不是真的过载。
  3. 看 %us(用户进程 CPU)和 %wa(I/O 等待),分清是算力不够还是磁盘在拖后腿。
  4. 按 Shift + P 按 CPU 排序,找到最耗 CPU 的进程;按 Shift + M 按内存排序,找到最耗内存的进程。
  5. 想看更细的趋势,用 vmstat 1 每秒刷新一次,看 CPU、内存、I/O 的变化。
    记住一句话就行:load average 是排队的平均长度,不是 CPU 的百分比;对照核数看趋势,再分清是 CPU 还是磁盘的问题,就不会被这三个数吓住了。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。