标签:单位 输出 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