我的工作中有一个运行 Ubuntu 12.04.03 CLI 的数据存储库,当我今天早上登录时检查它们时,它没有给我正常的信息,而是说无法显示信息,因为系统负载超过 2,我想知道这是什么意思?我刚刚重新启动了它,因为它没有响应,这是否与启动和使一切正常运行的过程有关?
答案1
运行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 使用率
答案2
系统负载或者系统平均负载
它是运行队列,即等待资源(cpu,i/o 等)可用的进程队列。
将单核cpu
视为一条交通车道,其中桥梁和流程如同汽车。
现在在这种情况下系统负载是
- 0.0- 如果道路上没有车辆。
- 1.0-如果道路上的交通量恰好等于桥梁的容量。
- 超过 1- 如果道路上的交通量超过桥梁的承载能力,车辆必须等待才能通过桥梁。
此数字未根据您的进行标准化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 个进程等待调度。
答案3
系统负载与 CPU 核心的数量有关,例如,如果您有四核 CPU(4 个核心),则值 1 表示系统负载为 25%,而 4 表示 100%。
答案4
如果你在终端中输入正常运行时间你会看到类似这样的内容:平均负载以及三列数字,分别表示一分钟、五分钟和十五分钟的负载。如果您有双核处理器,2 表示 100% 利用率,1 表示 50% 等。