Linux系统平均负载的含义

定义

平均负载,表示当前正在运行的线程加上等待运行的线程的数量。

## 8.70表示过去1分钟的平均负载,7.33表示过去5分钟的平均负载,6.29表示过去15分钟的平均负载
top - 10:01:07 up 83 days, 23 min,  1 user,  load average: 8.70, 7.33, 6.29 

分析

对于一个良好的系统,平均负载应该小于CPU核心数,这意味着所有的任务都可以被及时处理,而不需要等待,反之说明任务过多,无法及时响应,长期处于这样的状态,机器存在性能问题。

实践中,一般设置平均负载数小于CPU核心数的80%,如果超过80%,需要关注是否存在问题。当然应该监控 5分钟或者15分钟的平均负载,因为1分钟平均负载内超过80%,持续时间太短,可能是系统本身的波动。

分类讨论

  1. 如果1分钟,5分钟,15分钟 三个值基本相同,那就说明系统负载很平稳
  2. 如果1分钟的值远小于15分钟的值,就说明系统最近1分钟的负载在减少,而过去15分钟负载很大。
  3. 如果1分钟的值远大于15分钟的值,就说明最近1分钟负载在增加,需要观察这种情况是否持续,如果一直持续说明机器存在性能瓶颈或者业务程序存在bug,如果很快消失说明是负载正常波动。
  4. 如果是CPU密集型服务,那么CPU使用率和平均负载基本一致。
  5. 如果是IO密集型服务,平均负载升高,CPU使用率不一定升高,因为大量的线程处于IO等待中。

针对第三种情况,展开分析

1、 如果高负载的现象一直持续。

  • 有可能是业务量增加,比如用户数增加,有更多的用户访问,造成负载增加,这种情况要增加资源,比如使用更好的机器,或者扩展服务节点数量。
  • 有可能是服务程序出现了bug,比如某个线程陷入死循环,这种情况需要分析代码,找到bug。

2、如果高负债现象很快消失。

  • 说明是负载的正常波动。因为业务量不可能一直平稳,存在一定的波动,比如对于股票行情服务,在开盘的前几分钟,负载较高。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值