最近开始学习解决线上问题的知识,大神一般怎么做,我也不知道,网上一搜都是top作为马前卒,来看看我的电脑这个命令运行的结果:
第一次看,估计不是太适应,我们只看核心简单的:
load avg:
linux系统中的Load对当前CPU工作量的度量,也有简单的说是进程队列的长度。
Load Average 就是一段时间(1分钟、5分钟、15分钟)内平均 Load。
当这个值超过 CPU可执行单元的数目,则表示 CPU的性能已经饱和成为瓶颈了。
上面内容显示系统负载为“2.63, 2.43, 2.32”,这3个值是什么意思呢?
- 第一位2.63:表示最近1分钟平均负载
- 第二位2.43:表示最近5分钟平均负载
- 第三位2.32:表示最近15分钟平均负载
linux系统是5秒钟进行一次Load采样;讲到这里,其实估计大家还是不懂这个2.63到底是什么意思,我先给出下面一个截图,是我电脑的配置:
我的电脑是单cpu,4核的,load average一直都是2~3之间,load average小于4,说明系统工作正常,没有什么负担;用一个形象的例子来说明:
假设我们的系统是单CPU单内核的,把它比喻成是一条单向马路,把CPU任务比作汽车。
当车不多的时候,load <1;
当车占满整个马路的时候 load=1;
当马路都站满了,而且马路外还堆满了汽车的时候,load>1
单CPU单内核,Load Average值是多少需要我们的注意?
- 0.7 < load < 1:此时是不错的状态,如果进来更多的汽车,你的马路仍然可以应付。
- load = 1:你的马路即将拥堵,而且没有更多的资源额外的任务,赶紧看看发生了什么吧。
- load > 5:非常严重拥堵,我们的马路非常繁忙,每辆车都无法很快的运行
单CPU单内核,1分钟负载值 > 1,那么我们不用担心,但是如果15分钟负载都超过1,我们要赶紧看看发生了什么事情。所以我们要根据实际情况查看这三个值。
其实top命令没有太多要说的东西,一般都是用top命令查询有问题的进程id,再用其他的命令深入分析。
注: mac下top命令的options
命令
top -o cpu 按 cpu 使用量排序,
top -o rsize 按内存使用量排序。