功能
归档
167
2019 年 08 月 05 日
当被面试官问到 load average 时,该怎么回答?

理论知识
面试能力


一、什么是 load average ?


1.Load

linux 系统中的 Load 是对当前 CPU 工作量的一个度量 (WikiPedia: the system load is a measure of the amount of work that a computer system is doing)。也有简单的说是进程队列的长度。

2.load average

Load Average 就是一段时间 (1 分钟、5分钟、15分钟) 内平均 Load 
#命令"w" 或者 "uptime" 、"top"等可查看当前 load average 情况

3.命令

$ w
 03:41:24 up 20 days, 18:34,  1 user,  load average: 0.06, 0.03, 0.05
USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
root     pts/0    58.16.58.139     03:24    4.00s  0.00s  0.00s -bash

$ uptime 
 03:41:31 up 20 days, 18:34,  1 user,  load average: 0.06, 0.03, 0.05

$ top
top - 03:41:35 up 20 days, 18:34,  1 user,  load average: 0.06, 0.03, 0.05
Tasks:  82 total,   2 running,  80 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  6.2 sy,  0.0 ni, 93.8 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  4396780 total,   684664 free,   211280 used,  3500836 buff/cache
KiB Swap:        0 total,        0 free,        0 used.  3803232 avail Mem 

4.详解

load average: 0.06, 0.03, 0.05

0.06    表示最近1分钟平均负载
0.03    表示最近5分钟平均负载
0.05    表示最近15分钟平均负载
# linux 系统是5秒钟进行一次 Load 采样

二、load average 值得含义


1.单核处理器

假设我们的系统是单CPU单内核的,把它比喻成是一条单向马路,把CPU任务比作汽车。
当车不多的时候,load <1;
当车占满整个马路的时候 load=1;
当马路都占满了,而且马路外还堆满了汽车的时候 load>1

load <1
blob

load = 1
blob

load > 1
blob

2.多核处理器

我们经常会发现服务器 Load > 1 但是运行仍然不错,那是因为服务器是多核处理器(Multi-core)。
假设我们服务器CPU是2核,那么将意味我们拥有2条马路,我们的 Load = 2 时,所有马路都跑满车辆。

load = 2时马路都跑满
blob

3.查看CPU核心数

$ cat /proc/cpuinfo | grep 'model name' | wc -l
1

三、什么样的 Load average 值要提高警惕


1.

0.7 < load < 1: 此时是不错的状态,如果进来更多的汽车,你的马路仍然可以应付。

load = 1: 你的马路即将拥堵,而且没有更多的资源额外的任务,赶紧看看发生了什么吧。

load > 5: 非常严重拥堵,我们的马路非常繁忙,每辆车都无法很快的运行

四、三种Load值,应该看哪个

通常我们先看15分钟load,如果load很高,再看1分钟和5分钟负载,查看是否有下降趋势。
1分钟负载值 > 1,那么我们不用担心,但是如果15分钟负载都超过1,我们要赶紧看看发生了什么事情。所以我们要根据实际情况查看这三个值。

Over~

zhifubao_pay                weixin_pay

本站的发展离不开您的资助,金额随意,感谢来赏!


转载原创文章请注明,转载自: 林里克斯 » 当被面试官问到 load average 时,该怎么回答?
留言
Loading...

发表评论

电子邮件地址不会被公开。 必填项已用*标注