【问题标题】:What do the numbers in /proc/loadavg mean on Linux?/proc/loadavg 中的数字在 Linux 上是什么意思?
【发布时间】:2012-08-16 12:48:49
【问题描述】:

在 Linux 上发出此命令时:

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

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

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

【问题讨论】:

  • 只是对其他想知道的人的评论:如果您执行watch -n0.1 cat /proc/loadavg,您将看到最后一个值以该速率增加,因为根据定义,每次执行cat 时都会产生一个新进程.因此,只需查看此文件,您就可以更改结果(让我想起了一些事情)。

标签: linux


【解决方案1】:

/proc/loadavg

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

第四个字段由两个数字组成 斜线 (/)。其中第一个是当前执行的数量 内核调度实体(进程、线程);这会更少 大于或等于 CPU 的数量。斜线后的值为 当前存在的内核调度实体的数量 系统。

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

【讨论】:

  • 用户在使用 --load-average=N.N 参数运行 GNU make 时应考虑这些值。如果 make 导致负载平均值在数值上高于 CPU 内核数,则应重新启动 make 并减少 --load-average。这样系统就不会被编译超载。
  • 如果系统在 5 分钟之前启动,那么他们将如何计算 15 分钟的平均负载?他们会只使用 5 分钟的数据吗?
  • 至少目前手册页不包含“小于或等于 CPU 数量”的字样,并且当您有更多可运行进程时,它大于 CPU 数量。
  • 第五个字段和答案描述的不一样:其实这是最后分配的PID
【解决方案2】:

我想评论接受的答案。

第四个字段由两个用斜杠 (/) 分隔的数字组成。这 首先是当前正在执行的内核调度的数量 实体(进程、线程);这将小于或等于 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 数量。这与实际的实现不匹配,这里 value 报告当前可运行线程的数量。

【讨论】:

  • 可以确认:kernel/sched/core.c nr_running() 将自己描述为收集 runnable 而不是 running 任务。
【解决方案3】:

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

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

【讨论】:

  • 我强烈反对这个定义。前三个数字并不直接衡量 CPU 和 I/O 利用率,它们是运行队列中或等待 I/O 的平均作业数,正如 @auselen 的回答所说。
  • 您链接到的 Fedora 文档似乎没有正确记录...
【解决方案4】:

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

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

一些解释:

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

【讨论】:

    猜你喜欢
    • 2010-11-24
    • 2018-05-25
    • 1970-01-01
    • 2022-01-25
    • 2012-04-12
    • 1970-01-01
    • 1970-01-01
    • 2012-03-29
    相关资源
    最近更新 更多