系统管理员工具包: 监视运行缓慢的系统
2008-11-12 08:12:40 来源:WEB开发网要重新启动系统,请使用 init 或 telinit 来调整运行级别,运行级别 6 通常表示重新启动。使用 init/telinit 更有可能重新启动系统,因为在进行重新启动时仅涉及到了一个进程。
在系统启动并运行后,您需要使用本文中介绍的一些技巧来监视该系统的运行状态并记录其输出结果。如果再次出现系统运行迟缓的情况,您可以执行事后检查调试并分析系统运行迟缓的原因。
使用 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,那么它就能够处理当前的负载。
更多精彩
赞助商链接