Answers:
运行top
或uptime
命令:
$ uptime
19:36:03 up 5 days, 9:12, 8 users, load average: 0.05, 0.16, 0.21
$ top -bn1 | head -1
top - 19:36:07 up 5 days, 9:13, 8 users, load average: 0.05, 0.16, 0.21
这里列出的平均负载为:
/proc/loadavg
The first three fields in this file are load average figures
giving the number of jobs in the run queue (state R) or waiting
for disk I/O (state D) averaged over 1, 5, and 15 minutes. They
are the same as the load average numbers given by uptime(1) and
other programs.
考虑我的平均负载:0.05, 0.16, 0.21
这意味着,在最后一分钟内,平均有0.05个进程在等待资源。
您是否应该担心平均负载为2?通常,如果平均负载大于可用CPU的数量,则某些进程必须闲置以等待CPU插槽。
如果平均负载小于的输出nproc
,则无需担心。
另请参见:平均负载在UNIX / Linux中是什么意思? 如Braiam所述,进程不必仅等待CPU:了解平均负载与CPU使用率
系统负载或系统平均负载
它是运行队列,即等待资源(CPU,I / O等)可用的进程队列。
将单核cpu
视为单车道,将桥梁和流程视为汽车。
现在在这种情况下,系统负载为
该数字未根据您的进行标准化cpu
。在多处理器系统中,负载2表示使用双核处理器的利用率为100%,负载4表示使用四核的处理器利用率为100%。
您可以使用以下方式获取系统负载
uptime
cat /proc/loadavg
top
$ uptime 22:49:47上11:47,4个用户,平均负载:2.20、1.03、0.82
这里的最后三个数字分别代表1分钟,5分钟和15分钟的系统平均负载。
上面的示例表明,平均而言,在最后一分钟测得的运行队列中,有2.20个进程正在等待调度。
系统负载与CPU内核数有关,例如,如果您有一个四核CPU(4个内核),则值1表示系统负载为25%,而值4表示100%。
如果键入终端正常运行时间,您将看到类似:平均负载和三列数字,分别是一分钟,五分钟和十五分钟的负载。如果您有双核处理器,则2表示100%使用,1表示50%,依此类推。
2.0的系统负载不是很高。在多核系统上,您的CPU甚至可能仍处于部分空闲状态。
负载平均值是衡量CPU内核要一次使用的进程数的衡量指标。
以下假设一个单核(单线程)CPU:
0.0
CPU根本不执行任何操作。如果某个进程要开始使用CPU,那么它将是唯一使用它的进程。
1.0
CPU处于最大使用率,但是使用CPU的进程之间的争用为零。也就是说,只有一个进程正在运行,因此它能够为其本身占用100%的CPU时间。或者,正在运行多个进程,但没有一个进程声称拥有100%CPU,并且它们的组合CPU使用率总计达到100%。即使它们完全拥有自己的CPU,它们的运行速度仍然与运行时一样快。
大于1.0
CPU的利用率最高,并且有多个进程希望同时使用它,因此它们的运行速度比如果专门使用CPU时要慢得多。例如,平均负载为3.0表示进程以其想要运行的速度的三分之一运行。平均50.0的负载表示由于所有其他进程都在运行,因此进程以其想要运行的速度的1/50运行。也就是说,高于1.0的数字表示可用CPU正在越来越多的活动进程之间分配。
使用多核CPU不会改变数字的含义,但会改变它们的解释方式。例如,如果您有一个4核CPU,那么1.0的负载仍然等效于在一个核上使用100%CPU的一个进程,但是还有其他三个核。因此,在4核CPU上,最大效率点是4.0,而不是1.0-一切以1/3效率运行的点是12.0,而不是3.0。更复杂的是,单个进程可能有多个线程,每个线程都拥有自己的CPU。因此,如果一个进程是多线程的,则可以使用所有4个内核的100%。