天天看点

mysql load average_监控入门-Linux的平均负载(load average)

近期总被服务器的平均负载报警骚扰,但是登录到服务器查看,却发现不了问题.因此怀疑负载的阈值设置不合理.那么设置多少才合理呢?先来看一下基础知识.

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

一般的进程需要消耗CPU,内存,磁盘I/O,网络I/O等资源,在这种情况下,平均负载就不是单独指的CPU使用情况.即内存,磁盘,网络等因素,也可以影响系统的平均负载值.

在单核处理器中,平均负载值为1或者小于1的时候,系统处理进程会非常轻松,即负载很低.当达到3的时候,就会显得很忙.达到5或者8的时候,就不能很好的处理进程了.(5,8目前还是个争议的阈值,为了保守起见,选择低的.)

比如我的服务器是两颗CPU.每颗6个核心,相当于12核的处理器.

如果负载小于12,说明服务器利用率较低.

如果负载大于12小于36,说明服务器利用率比较高,这个时候,就应该考虑优化业务,或者更换更快的CPU.

如果负载大于36小于60,甚至超过60,说明该服务器很危险,随时可能发生问题.

经过上面的分析,我们用以下命令获取系统的平均负载值.

top

uptime

w

平均负载值部分如:load average: 0.08, 0.03, 0.00.这些数值是指系统在最后1/5/15分钟的平均负载.那么我们判断负载过高,要以哪个值为准?

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

结合nagios报警,12核的服务器计划做如下报警设置:

check_load –w 36,24,12 –c 60,48,36

以上总结,参考如下:

1. Understanding Linux Load Average

http://prutser.wordpress.com/2012/04/23/understanding-linux-load-average-part-1/

http://prutser.wordpress.com/2012/05/05/understanding-linux-load-average-part-2/

http://prutser.wordpress.com/2012/05/28/understanding-linux-load-average-part-3/

2. Understanding Linux CPU Load - when should you be worried?

http://blog.scoutapp.com/articles/2009/07/31/understanding-load-averages

http://www.gracecode.com/posts/2973.html(中文翻译版)

3. wiki

http://en.wikipedia.org/wiki/Load_%28computing%29