posts - 496, comments - 190, trackbacks - 0, articles - 0

导航

linux 平均负载 load average 的含义

Posted on 2016-06-23 16:13 蝈蝈俊 阅读(...) 评论(...) 编辑 收藏

 

load average 的含义

平均负载(load average)是指系统的运行队列的平均利用率,也可以认为是可运行进程的平均数

以路况为例, 单核CPU、单车道 情况如下:

image

  • 0.00-1.00 之间的数字表示此时路况非常良好,没有拥堵,车辆可以毫无阻碍地通过。
  • 1.00 表示道路还算正常,但有可能会恶化并造成拥堵。此时系统已经没有多余的资源了,管理员需要进行优化。
  • 1.00-*** 表示路况不太好了,如果到达2.00表示有桥上车辆一倍数目的车辆正在等待。这种情况你必须进行检查了。

多核CPU - 多车道 情况如下:

image

多核CPU的话,满负荷状态的数字为 "1.00 * CPU核数",即双核CPU为2.00,四核CPU为4.00。

 

一般的进程需要消耗CPU、内存、磁盘I/O、网络I/O等资源,在这种情况下,平均负载就不是单独指的CPU使用情况。即内存、磁盘、网络等因素也可以影响系统的平均负载值。
在单核处理器中,平均负载值为1或者小于1的时候,系统处理进程会非常轻松,即负载很低。当达到3的时候,就会显得很忙,达到5或者8的时候就不能很好的处理进程了(其中5和8目前还是个争议的阈值,为了保守起见,建议选择低的)。


参考:

https://www.slyar.com/blog/linux-load-average-three-numbers.html

http://www.yunweipai.com/archives/2750.html

查看load average 数据

下面几个命令都可以看到 load average

# top
# uptime
# w

截图如下:

 

top 命令的

image

 

uptime 命令的

image

w 命令的

image

 

这里的 load average 的三个值分别指系统在最后 1/5/15分钟 的平均负载值。

根据经验:我们应该把重点放在5/15分钟的平均负载,因为1分钟的平均负载太频繁,一瞬间的高并发就会导致该值的大幅度改变。

 

相关的算法请参考:

http://itlab.idcquan.com/linux/attestation/816287.html