从linux发出此命令时:
# cat /proc/loadavg
0.75 0.35 0.25 1/25 1747
Run Code Online (Sandbox Code Playgroud)
最后2个数字是多少?
最后一个每秒增加2,我应该担心吗?
aus*_*len 78
最后一个是系统最后15分钟的工作量.
此文件中的前三个字段是负载平均数,给出运行队列中的作业数(状态R)或等待磁盘I/O(状态D)的平均时间超过1,5和15分钟.它们与正常运行时间(1)和其他程序给出的负载平均数相同.
第四个字段由两个用斜杠(/)分隔的数字组成.第一个是当前正在执行的内核调度实体(进程,线程)的数量; 这将小于或等于CPU的数量.斜杠后面的值是系统上当前存在的内核调度实体的数量.
第五个字段是最近在系统上创建的进程的PID.
小智 14
前三列测量最后一个,五个和15分钟周期的CPU和I/O利用率.第四列显示当前正在运行的进程数和进程总数.最后一列显示最后使用的进程ID.
https://www.centos.org/docs/5/html/5.2/Deployment_Guide/s2-proc-loadavg.html
(我搜索了答案,所以你也可以这样做.)
Ser*_*kov 13
我想对接受的答案发表评论.
第四个字段由两个用斜杠(/)分隔的数字组成.第一个是当前正在执行的内核调度实体(进程,线程)的数量; 这将小于或等于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的数量.这与实际实现不匹配,其中此值报告当前可运行线程的数量.
Val*_*lus 10
以下页面详细解释了这些内容:
http://www.brendangregg.com/blog/2017-08-08/linux-load-averages.html
一些解释:
- 如果平均值为 0.0,则您的系统处于空闲状态。
- 如果 1 分钟平均值高于 5 或 15 分钟平均值,则负载正在增加。
- 如果 1 分钟平均值低于 5 或 15 分钟平均值,则负载正在减少。
- 如果它们高于您的 CPU 数量,那么您可能会遇到性能问题(具体取决于情况)。
| 归档时间: |
|
| 查看次数: |
58215 次 |
| 最近记录: |