在进行性能测试的时候,如果有业务指标不达标的时候我们会对性能指标进行分析,性能指标有很多,其中cpu就是一个很重要的性能指标,我们通过top命令可以看到在里面有很多的数据显示,那哪些数据可以在一定程度上反应cpu的性能呢,这里我们来看下load average
通过top(uptime、w也可以看)命令:
显示出来的指标有很多,主要关注的指标有load average,
linux系统中的Load Average是 CPU的Load,它所包含的信息不是CPU的使用率状况,而是在一段时间内CPU正在处理以及等待CPU处理的进程数之和的统计信息,也就是CPU使用队列的长度的统计信息。
Load Average 就是一段时间 (1 分钟、5分钟、15分钟) 内平均 Load 。
上边11.42,12.85,13.12表示
第一位11.42:表示最近1分钟平均负载
第二位12.85:表示最近5分钟平均负载
第三位13.12:表示最近15分钟平均负载
注:linux系统是5秒钟进行一次Load采样;
Load Average是与机器内核数有关的,在linux机器中按照配置的不同,有的机器是单核cpu,有的是多核cpu,不同的核数反应的系统负载是不一样的,
1.如何分析load average
1) 单核处理器
假设我们的系统是单CPU单内核的,把它比喻成是一条单向马路,把CPU任务比作汽车。当车不多的时候,load <1;当车占满整个马路的时候 load=1;当马路都站满了,而且马路外还堆满了汽车的时候,load>1
2) 多核处理器
我们经常会发现服务器Load > 1但是运行仍然不错,那是因为服务器是多核处理器(Multi-core)。
假设我们服务器CPU是2核,那么将意味我们拥有2条马路,我们的Load = 2时,所有马路都跑满车辆。
我们可以通过下面集中方式来看系统是几核的:
1.grep 'model name' /proc/cpuinfo | wc -l
- 0.7 < load < 1: 此时是不错的状态,如果进来更多的汽车,你的马路仍然可以应付。
- load = 1: 你的马路即将拥堵,而且没有更多的资源额外的任务,赶紧看看发生了什么吧。
- load > 5: 非常严重拥堵,我们的马路非常繁忙,每辆车都无法很快的运行
2. 三种Load值,应该看哪个
通常我们先看15分钟load,如果load很高,再看1分钟和5分钟负载,查看是否有下降趋势。
1分钟负载值 > 1,那么我们不用担心,但是如果15分钟负载都超过1,我们要赶紧看看发生了什么事情。所以我们要根据实际情况查看这三个值。