89

在 Linux 上发出此命令时:

# cat /proc/loadavg
0.75 0.35 0.25 1/25 1747

前三个数字是平均负载。最后2个数字是多少?

最后一个每秒不断增加2,我应该担心吗?

4

4 回答 4

99

/proc/loadavg

此文件中的前三个字段是负载平均数字,给出了运行队列(状态 R)或等待磁盘 I/O(状态 D)中 1、5 和 15 分钟的平均作业数。它们与 uptime(1) 和其他程序给出的平均负载数相同。

第四个字段由两个用斜杠 (/) 分隔的数字组成。其中第一个是当前正在执行的内核调度实体(进程、线程)的数量;这将小于或等于 CPU 的数量。斜杠后面的值是系统上当前存在的内核调度实体的数量。

第五个字段是最近在系统上创建的进程的 PID。

于 2012-08-16T12:54:07.420 回答
24

我想评论接受的答案。

第四个字段由两个用斜杠 (/) 分隔的数字组成。其中第一个是当前正在执行的内核调度实体(进程、线程)的数量;这将小于或等于 CPU 的数量。

我做了一个测试程序,它从输入中读取整数 N,然后创建 N 个线程并永远运行它们。在 RHEL 6.5 计算机上,我有 8 个处理器,每个处理器都有超线程。无论如何,如果我运行我的测试并且它创建了 128 个线程,我在第四个字段值中看到大于 128 的值,例如 135。它显然大于 CPU 的数量。这篇文章支持我的观察: http://juliano.info/en/Blog: Memory_Leak /Understanding_the_Linux_load_average

值得注意的是,proc(5) 手册页中的当前解释(截至 2009 年 3 月的手册页版本 3.21)是错误的。它将第四个字段的第一个数字报告为当前正在执行的调度实体的数量,因此预测它不能大于 CPU 的数量。这与实际实现不匹配,该值报告当前可运行线程的数量。

于 2014-02-07T06:43:49.837 回答
12

前三列测量最后一分钟、五分钟和 15 分钟的 CPU 和 I/O 利用率。第四列显示当前正在运行的进程数和进程总数。最后一列显示最后使用的进程 ID。

https://docs.fedoraproject.org/en-US/Fedora/17/html/System_Administrators_Guide/s2-proc-loadavg.html

于 2012-08-16T12:51:17.843 回答
5

以下页面详细解释了这些:

http://www.brendangregg.com/blog/2017-08-08/linux-load-averages.html

一些解释:

  • 如果平均值为 0.0,则您的系统处于空闲状态。
  • 如果 1 分钟平均值高于 5 或​​ 15 分钟平均值,则负载正在增加。
  • 如果 1 分钟平均值低于 5 或​​ 15 分钟平均值,则负载正在减少。
  • 如果它们高于您的 CPU 计数,那么您可能会遇到性能问题(这取决于)。
于 2020-08-30T09:51:03.990 回答