电脑技术学习

非常经典的UNIX系统调优的文章

dn001

  使用 uptime

  如果您怀疑计算机运行得很慢,那么您应该运行的第一个命令是

  uptime

  Uptime

报告当前时间、计算机启动和运行时间(换句话说,是从计算机启动以来的时间)以及当前的用户数。然后它会提供三幅图表,以显示最近 1 分钟、5 分钟和 15 分钟的平均负载。例如:

  $ uptime
18:28:54 up 10 days, 8:38, 2 users, load average: 2.24, 5.34, 3.42

  在这个示例中,该计算机在最近 1 分钟、5 分钟和 15 分钟内的平均负载分别超过了 2、5 和 3。

  平均负载的定义比较复杂,并且受到正在执行的进程的状态影响。通常,正在运行、等待 CPU 或等待 I/O 的每个进程都会使平均负载加 1。然后对这些图表进行计算并根据时间平均。

  在单 CPU 的系统中,平均负载大于 1 则表示该 CPU 难以承受您所分配的负载类型。但是因为 Unix 的多进程的本质,在您关注到该问题前,平均负载在长时间内(换句话说,对应于 15 分钟的图表)达到 2 通常是可以接受的。

  在多 CPU(或多核)系统中,需要将平均负载除以 CPU 的个数。要确定计算机是否超负荷运行,请使用上述原则。

  查看这些图表的另一种可选的方法是将它们看作百分比,换句话说,如果上面的图表来自于一个单 CPU 系统,那么如果该计算机的速度比目前快百分之 224,那么它就能够处理当前的负载。

  在多 CPU 系统中,您应该使用 CPU 数目加 1 来确定最大负载。例如,一个 4 CPU 的系统可以承受的最大平均负载为 5。

  通常在短时间内,计算机的平均负载可能比其最大平均负载高的多。例如,当构建或编译一个应用程序、或执行一项磁盘密集型任务时,平均负载可能会激增。这正是输出结果中包含 1、5 和 15 分钟平均值的原因,因为这样可以帮助消除任何瞬态负载极大值。

标签: