每次我通过SSH登录到服务器时,都会向我闪烁一些服务器信息。IE IP地址,交换使用率,内存使用率等。它闪烁的另一件事是系统负载。现在大多数情况下,系统负载数小于0.10,但有时我看到它高达0.89(通常在启动时)。
这带来了一个问题,系统负载能走多高?例如,它是否有可能升至2.00甚至100.00?
每次我通过SSH登录到服务器时,都会向我闪烁一些服务器信息。IE IP地址,交换使用率,内存使用率等。它闪烁的另一件事是系统负载。现在大多数情况下,系统负载数小于0.10,但有时我看到它高达0.89(通常在启动时)。
这带来了一个问题,系统负载能走多高?例如,它是否有可能升至2.00甚至100.00?
Answers:
这带来了一个问题,系统负载能走多高?例如,它是否有可能升至2.00甚至100.00?
绝对。查看uptime
手册页:
System load averages is the average number of processes that are either
in a runnable or uninterruptable state. A process in a runnable state
is either using the CPU or waiting to use the CPU. A process in unin‐
terruptable state is waiting for some I/O access, eg waiting for disk.
The averages are taken over the three time intervals. Load averages
are not normalized for the number of CPUs in a system, so a load aver‐
age of 1 means a single CPU system is loaded all the time while on a 4
CPU system it means it was idle 75% of the time.
因此,如果您有很多等待运行的进程(或很多等待I / O的进程被阻塞),则平均负载将很高。 本文将详细讨论它,并提供指向其他资源的有用链接。
在未加载的系统上,平均负载通常在0 <= load_average <= n范围内,其中n是系统上的内核数。
我已经看到有生命的系统受到了成千上万的攻击。平均负载是一种基于等待过程的相对度量,该等待过程是为了引起内核的注意并在CPU上获得一些时间而进行的竞争。如果机器被工作淹没或崩溃,则可能需要很长时间。
可接受的级别取决于计算机,内核数量,正在使用的内核作业调度程序的类型以及您期望它执行的作业。我有一些机器在〜10范围内非常满意,但是如果它们达到〜40-50则会停顿下来。其他人在2时明显变得迟钝,在10时将无法使用。
在启动过程中,负载会很高,这是很正常的,因为许多事情会立即完成,并且机器正在清盘。我认为〜1是相当正常的负载,可以在台式机Linux的启动过程中进入启动状态,然后在不执行任何操作的情况下降至〜0.1。
在Linux上,系统负载平均值由处于三种不同状态之一的进程组成。通常,可以说平均负载是等待CPU时间或消耗CPU时间的进程数量。平均负载概述中的三个值是过去一分钟,最近5分钟和最近15分钟的平均负载。
计入平均负载的进程的三种不同状态是:(1)在CPU上运行的进程,(2)等待CPU时间的进程,以及(3)处于不间断睡眠状态的进程。最后一个类别虽然不产生CPU负载,但可以显着提高平均系统负载。
例如,十几个正在等待非常繁忙或不可用的磁盘读取的进程将产生平均12的负载,因为这些进程处于不间断的睡眠状态,但是与此同时,您的CPU可以完全处于空闲状态。
因此,是的,平均负载可以轻松达到两位数。这有多严重取决于您的硬件。如果您有16个内核,那么有16个进程等待CPU时间也就算不错了。在单核计算机上,让3个进程等待CPU时间可能非常糟糕。
100.89
会更有可能比100.00