大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺
定义
平均负载,表示当前正在运行的线程加上等待运行的线程的数量。
## 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分钟,5分钟,15分钟 三个值基本相同,那就说明系统负载很平稳
- 如果1分钟的值远小于15分钟的值,就说明系统最近1分钟的负载在减少,而过去15分钟负载很大。
- 如果1分钟的值远大于15分钟的值,就说明最近1分钟负载在增加,需要观察这种情况是否持续,如果一直持续说明机器存在性能瓶颈或者业务程序存在bug,如果很快消失说明是负载正常波动。
- 如果是CPU密集型服务,那么CPU使用率和平均负载基本一致。
- 如果是IO密集型服务,平均负载升高,CPU使用率不一定升高,因为大量的线程处于IO等待中。
针对第三种情况,展开分析 。
1、 如果高负载的现象一直持续。
- 有可能是业务量增加,比如用户数增加,有更多的用户访问,造成负载增加,这种情况要增加资源,比如使用更好的机器,或者扩展服务节点数量。
- 有可能是服务程序出现了bug,比如某个线程陷入死循环,这种情况需要分析代码,找到bug。
2、如果高负债现象很快消失。
- 说明是负载的正常波动。因为业务量不可能一直平稳,存在一定的波动,比如对于股票行情服务,在开盘的前几分钟,负载较高。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/194345.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...