codecamp

一分钟理解负载LoadAverage

一、什么是Load Average?

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

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


二、如何查看Load?

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

[shenjian@dev02 ~]$ uptime

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

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


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

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


Load小于1:不堵车,汽车在马路上跑得游刃有余:

Load小于1

[Load<1,单核]


Load等于1:马路已无额外的资源跑更多的汽车了:

Load等于1

[Load==1,单核]


Load大于1:汽车都堵着等待进入马路:

Load大于1

[Load>1,单核]


如果有两个CPU,则表示有两条马路,此时即使Load大于1也不代表有汽车在等待:

两个CPU

[Load==2,双核,没有等待]


四、什么样的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总结

Load小于1[Load<1,单核]

Load等于1[Load==1,单核]

Load大于1[Load>1,单核]

两个CPU[Load==2,双核]

希望上面一幅图对大家理解Load Average有帮助,赶快uptime一下,看一下自己系统的负载吧。


一分钟一幅图TCP/IP搞定
1分钟了解Leader-Follower线程模型
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }