全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 379|回复: 0

Linux系统负载详解

[复制链接]
发表于 2023-11-3 21:12:27 | 显示全部楼层 |阅读模式
在进程调度器维护的运行队列中,任何时刻至少存在一个进程,那就是正在运行的进程。而当运行队列中有不止一个进程时,就说明此时CPU比较抢手,其他进程还在等着,进程调度器应该尽快让正在运行的基础释放CPU。
通过在任何时刻查看/proc/loadavg,可以了解到运行队列的情况:
[root@localhost ~]# cat /proc/loadavg
0.00 0.02 0.05 1/335 3427

注意1/335这部分,其中的1代表此时运行队列中的进程个数,而335则代表此时的进程总数。
最右边的3427代表到此时为止,最后创建的一个进程ID。
接下来,请看左边的三个数值,分别是0.00 0.02
0.05,他们就是我们常说的系统负载。我们都知道,系统负载越高,代表CPU越繁忙,越无法很好地满足所有进程的需要。但是,系统负载是如何计算而来的
呢?根据定义,它是在单位时间内运行队列中就绪等待的进程数平均值,所以当运行队列中就绪进程不需要等待就可以马上获得CPU的时候,系统负载便非常低。
当系统负载为0.00时,说明任何进程只要就绪后就可以马上获得CPU,不需要等待,这时候系统响应速度最快。
那么,刚才提到的三个数值,便是系统最近1分钟、5分钟、15分钟分别计算得出的系统负载。
我们还可以通过其他方法获得系统负载,比如top、w等工具:
[root@localhost ~]# top
top – 15:24:25 up 99 days, 5:01, 1 user, load average: 0.13, 0.05, 0.05


[root@localhost ~]# w
15:24:59 up 99 days, 5:02, 1 user, load average: 0.07, 0.04, 0.05
从实现方法上看,这些工具获得的系统负载都是来源于/proc/loadavg。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-4-29 03:23 , Processed in 0.057290 second(s), 8 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表