读书笔记——

【技术博客】一分钟理解负载LoadAverage

作者:架构师之路

原文:http://zhuanlan.51cto.com/art/201702/531810.htm

一、什么是Load Average?

系统负载(System Load)是系统CPU繁忙程度的度量,即有多少进程在等待被CPU调度(进程等待队列的长度)。

平均负载(Load Average)是一段时间内系统的平均负载,这个一段时间一般取1分钟、5分钟、15分钟。

二、如何查看Load?

top,uptime,w等命令都可以查看系统负载:

$ uptime
13:53:39 up 10 days, 2:15, 1 user, load average: 1.5, 2.5, 5.5

如上所示,机器1分钟平均负载,5分钟平均负载,15分钟平均负载分别是1.5、2.5、5.5

三、Load的数值是什么含义?

把CPU比喻成一条(单核)马路,进程任务比喻成马路上跑着的汽车,Load则表示马路的繁忙程度。

  • Load小于1:不堵车,汽车在马路上跑得游刃有余
  • Load等于1:马路已无额外的资源跑更多的汽车了
  • Load大于1:汽车都堵着等待进入马路
  • 如果有两个CPU,则表示有两条马路,此时即使Load大于1也不代表有汽车在等待

四、什么样的Load值得警惕(单核)?

什么样的Load值得警惕(单核):

  • Load < 0.7时:系统很闲,马路上没什么车,要考虑多部署一些服务
  • 0.7 < Load < 1时:系统状态不错,马路可以轻松应对
  • Load == 1时:系统马上要处理不多来了,赶紧找一下原因
  • Load > 5时:马路已经非常繁忙了,进入马路的每辆汽车都要无法很快的运行

五、不同Load值说明什么问题?

结合具体情况具体分析:

  1. 1分钟Load>5,5分钟Load<1,15分钟Load<1:短期内繁忙,中长期空闲,初步判断是一个“抖动”或者是“拥塞前兆”
  2. 1分钟Load>5,5分钟Load>1,15分钟Load<1:短期内繁忙,中期内紧张,很可能是一个“拥塞的开始”
  3. 1分钟Load>5,5分钟Load>5,15分钟Load>5:短中长期都繁忙,系统“正在拥塞”
  4. 1分钟Load<1,5分钟Load>1,15分钟Load>5:短期内空闲,中长期繁忙,不用紧张,系统“拥塞正在好转

六、Load总结