Linux系统负载详解

Linux评论1阅读模式

在进程调度器维护的运行队列中,任何时刻至少存在一个进程,那就是正在运行的进程。而当运行队列中有不止一个进程时,就说明此时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。

 
  • 本文由 yeho 发表于 2012-05-18
  • 转载请务必保留本文链接:https://linuxeye.com/123.html
  • load
  • load average
  • loadavg
  • 系统负载
Linux

Nginx反向代理永久性缓存

Nginx缓存简介 Nginx缓存方式有两种: 永久性的缓存:这种缓存若不手动删除,该缓存文件会一直生效,因此,永久缓存只是用于缓存网站中几乎不会更改的内容; 临时缓存:这种缓存是根据请求连接进行哈希...
Linux

Consul集群配置

consul原理 上图是官网提供的一个事例系统图,图中的Server是consul服务端高可用集群,Client是consul客户端。consul客户端不保存数据,客户端将接收到的请求转发给响应的Se...
匿名

发表评论

匿名网友
确定

拖动滑块以完成验证