linux / proc / loadavg

从linux发出这个命令时:

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

什么是最后2个数字?

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

最后一个是系统最近15分钟的工作量。

的/ proc / loadavg

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

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

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

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

https://www.centos.org/docs/5/html/5.2/Deployment_Guide/s2-proc-loadavg.html

(我寻找答案,所以你也可以这样做。)

我想评论接受的答案。

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

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

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