平均负载和 CPU 负载有什么区别?

平均负载和 CPU 负载有什么区别?

以下是 top 的输出:

顶部 - 23:30:49 启动 2:18,1 个用户,平均负载:4.36,4.36,4.39
任务:总计 105 个,其中 2 个正在运行,103 个正在休眠,0 个已停止,0 个僵尸
CPU:  3.6%美国,8.0%悉尼,0.0%尼加拉瓜,73.4%印度尼西亚,9.0%华盛顿,  1.1%高, 4.9%si, 0.0%st
内存:总计 2029820k,已用 1979312k,可用 50508k,缓冲区 6828k
交换:总计 5947384k,已使用 0k,可用 5947384k,缓存 1855304k

为什么 CPU 负载很低但平均负载却很高呢?

平均负载是如何计算的?

答案1

本网站很好地解释了这一点。基本上,平均负载是过去 1、5 和 15 分钟内 CPU 的流量。通常,您希望此数字低于您拥有的 CPU/核心数量。单核机器上的 1.0 表示它正在最大限度地利用 CPU,任何高于此的值都意味着正在排队。

顶部输出中的 CPU 行是按进程类型细分的当前使用情况。

答案2

Inigoesdr 和他/她指向的网站写的内容或多或少是正确的,但请记住,“负载平均值”实际上并不是“常规”数学平均值,而是一个指数阻尼/加权移动平均线

是一篇关于 CPU 百分比和平均负载以及如何在 Linux 中计算它们的非常好且深入的文章。维基百科也有一篇很好的文章(例如,解释 Linux 和大多数 UNIX 系统的平均负载之间的一些差异)。

相关内容