AIX 5L 内存性能优化之使用 ps、sar、svmon 和 vmstat 监视内存的使用,通过命令监控AIX系统的内存使用状况,进而进行系统内存的性能优化,是一个系统管理员对系统优化要做的基本工作!
内存子系统中最重要的优化部分并不涉及到实际的优化工作。在对您的系统进行优化之前,必须弄清楚主机系统的实际运行情况。要做到这一点,AIX® 管理员必须知道应该使用何种工具,以及如何对他或她将要捕获的数据进行分析。再次说明近期发表的一些其他优化文章中所介绍的内容,您在对系统进行正确地优化之前,必须首先监视主机,无论它是在逻辑分区 (LPAR) 运行还是在自己的物理服务器上运行。您可以使用许多命令来捕获和分析数据,所以您需要了解这些命令,以及其中的哪个命令最适合于将要进行的工作。在捕获了相关的数据之后,您需要对结果进行分析。有些问题乍看起来像是一个中央处理单元 (CPU) 的问题,而经过分析之后,可以正确地诊断为内存或 I/O 问题,前提是您使用了合适的工具捕获数据,并且知道如何进行分析工作。仅当正确地完成了这些工作之后,您才可以考虑对系统进行实际的更改。如果医生不了解您的病史和目前的症状,就无法诊治疾病,同样地,您也需要在优化子系统之前对其进行诊断。如果在出现 CPU 或者 I/O 瓶颈的情况下,对内存子系统进行优化,这将是毫无帮助的,甚至可能会影响主机的正常运行。
本文将帮助您了解正确地实施诊断工作的重要性。您将看到,性能优化并不仅仅只是进行实际的优化工作。在您将要学习的工具中,有一些是通用的监视工具,所有版本的 UNIX 都提供了这些工具,另外还有一些工具是专门为 AIX 编写的。有些工具为 AIX Version 5.3 进行了优化,同时还专门为 AIX 5.3 系统开发了一些新的工具。
生成基准数据是非常重要的,这一点无论重申多少次都不为过。不要等到用户开始抱怨糟糕的性能时,才开始监视您的系统。应该在将服务器投入生产环境中后,尽快地捕获其中的数据。如果您做到了这一点,那么您就可以积极主动地进行优化工作,其目标是在用户指出存在的问题之前找到它。如果您不了解系统正常运行时的相关数据,那么就无法确定所查看的数据是否表示存在性能问题。所有这些都是适当的性能优化方法中的一部分,有效地捕获数据,并正确地分析其结果和趋势。让我们来进行仔细地研究。
UNIX 通用的内存监视
在这个部分中,我为在所有 UNIX 分发版都可以使用的一些通用 UNIX 工具提供了概述,包括 ps、sar 和 vmstat。其中的大多数工具都允许您快速地对性能问题进行故障排除,但是它们并不适合用于进行历史趋势研究和分析。
大多数管理员都不善于使用 ps 命令对可能的内存瓶颈进行故障排除。事实上,许多 UNIX 管理员甚至不知道可以使用 ps 帮助确定内存问题的原因。ps 最常用的功能是查看系统中运行的进程(请参见清单 1)。
清单 1. 使用 ps 查看系统中运行的进程
# ps -ef | more
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 May 03 - 0:03 /etc/init
root 11244 19154 0 0:00 <defunct>
root 11384 1 0 May 03 - 0:00 /usr/lib/errdemon
root 12434 16618 0 May 03 - 0:29 /usr/opt/ifor/bin/i4llmd -b -n wc
clwts -l /var/ifor/llmlg
root 13218 16618 0 May 03 - 0:00 /usr/sbin/rsct/bin/IBM.AuditRMd
root 13440 1 0 May 03 - 0:00 /usr/ccs/bin/shlap
root 13690 13954 0 May 03 - 0:00 dtlogin <:0> -daemon
root 13954 1 0 May 03 - 0:00 /usr/dt/bin/dtlogin -daemon
|