码迷,mamicode.com
首页 > 其他好文 > 详细

平均负载

时间:2020-05-24 00:17:38      阅读:58      评论:0      收藏:0      [点我收藏+]

标签:单位   输出   pre   不能   表示   导致   占用   pst   table   

平均负载

平均负载:指单位时间内,系统处于可运行状态和不可中断状态的平均进程数,也就是平均活跃进程数。

Linux的负载高,主要是由于CPU使用、内存使用、IO消耗三部分构成。任意一项使用过多,都将导致服务器负载的急剧攀升。

平均负载多少合理?

假设是1核cpu

当系统负荷持续大于0.7,你必须开始调查了,问题出在哪里,防止情况恶化。

当系统负荷持续大于1.0,你必须动手寻找解决办法,把这个值降下来。

当系统负荷达到5.0,就表明你的系统有很严重的问题,长时间没有响应,或者接近死机了。你不应该让系统达到这个值。

以上指标都是基于单CPU的,但是现在很多电脑都是多核的。所以,对一般的系统来说,是根据cpu数量去判断系统是否已经过载(Over Load)的。如果我们认为0.7算是单核机器负载的安全线的话,那么四核机器的负载最好保持在3(4*0.7 = 2.8)以下。

在Load Avg的指标中,有三个值,1分钟系统负荷、5分钟系统负荷,15分钟系统负荷。我们在排查问题的时候也是可以参考这三个值的。

一般情况下,1分钟系统负荷表示最近的暂时现象。15分钟系统负荷表示是持续现象,并非暂时问题。如果load15较高,而load1较低,可以认为情况有所好转。反之,情况可能在恶化。

#查清原因解决超额负载
如果是进程造成的负载,查看进程后,具体情况具体操作,不能直接kill杀掉进程。
如果是IO原因造成的负载,不能kill掉进程,会造成系统崩溃,应该重新挂载,具体情况具体操作。

假设现在在4,2,1核的CPU上,如果平均负载为2时,意味着什么呢?

核心数 平均负载 含义
4 2 有一半(50%)的CPU是空闲状态
2 2 CPU刚好完全被占用
1 2 至少一半的进程是抢不到CPU

平均负载的三个数值我们该关注哪一个

1.如果1分钟,5分钟,15分钟的负载数值相差不大,代表系统的负载很‘‘稳定‘‘

2.如果1分钟的值,远小于15分钟的值,那么证明系统的平均负载逐渐降低,但是15分钟区间,系统负载上升的原因需要知道

3.如果15分钟的值,远小于1分钟的值,那么证明系统的平均负载逐渐升高,有可能是临时的也有可能持续上升,需要观察

4.一旦1分钟的平均负载接近或超过了CPU的个数,就意味着,系统正在发生过载的问题,这时候就得分析问题了,并且要想办法优化。

平均负载实验

stress`是Linux系统压力测试工具,这里我们用作异常进程模拟平均负载升高的场景。

mpstat是多核CPU性能分析工具,用来实时检查每个CPU的性能指标,以及所有CPU的平均指标。

pidstat是一个常用的进程性能分析工具,用来实时查看进程的CPU,内存,IO,以及上下文切换等性能指标。

#cpu负载测试命令
[ root@oldboy ~]# stress --cpu 2 --timeout 600

#查看负载值变化情况
[ root@oldboy ~]# watch -d uptime

#5秒中检测一次所有指标
[ root@oldboy ~]# mpstat -P ALL 5

#5秒中输出一组数据
[ root@oldboy ~]# pidstat -u 5 1

总结:**

1.平均负载高有可能是CPU密集型进程导致的
2.平均负载高并不一定代表CPU的使用率就一定高,还有可能是I/O繁忙
3.当发现负载高时,可以使用mpstat、pidstat等工具,快速定位到,负载高的原因,从而做出处理

平均负载

标签:单位   输出   pre   不能   表示   导致   占用   pst   table   

原文地址:https://www.cnblogs.com/mdddm/p/12945158.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!