在 Linux 上发出此命令时:
# cat /proc/loadavg
0.75 0.35 0.25 1/25 1747
前三个数字是平均负载。最后2个数字是多少?
最后一个每秒不断增加2,我应该担心吗?
原文由 Ulterior 发布,翻译遵循 CC BY-SA 4.0 许可协议
在 Linux 上发出此命令时:
# cat /proc/loadavg
0.75 0.35 0.25 1/25 1747
前三个数字是平均负载。最后2个数字是多少?
最后一个每秒不断增加2,我应该担心吗?
原文由 Ulterior 发布,翻译遵循 CC BY-SA 4.0 许可协议
我想评论接受的答案。
第四个字段由两个用斜杠 (/) 分隔的数字组成。其中第一个是当前正在执行的内核调度实体(进程、线程)的数量;这将小于或等于 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 的数量。这与实际实现不匹配,该值报告当前可运行线程的数量。
原文由 user184968 发布,翻译遵循 CC BY-SA 3.0 许可协议
7 回答5.3k 阅读
4 回答4k 阅读
2 回答5.9k 阅读✓ 已解决
2 回答2.5k 阅读✓ 已解决
1 回答2.3k 阅读✓ 已解决
2 回答799 阅读✓ 已解决
2 回答3.2k 阅读
/proc/loadavg