Chinaunix首页 | 论坛 | 博客
  • 博客访问: 201442
  • 博文数量: 87
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 840
  • 用 户 组: 普通用户
  • 注册时间: 2012-07-18 21:12
文章分类

全部博文(87)

文章存档

2014年(86)

我的朋友

分类: 系统运维

2014-05-29 15:29:32

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

 

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

一般的进程需要消耗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

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

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

(中文翻译版)

3. wiki

%28computing%29

 

阅读(2043) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~