分类:
2006-05-02 15:30:18
使用 vmstat、iostat、netstat 和 sar 命令进行连续的系统性能监视
vmstat、iostat、netstat 和 sar 命令提供了可以构造性能监视机制的基本依据。
当出现问题时,可以编写 shell 脚本来对命令输出进行数据简化、警告性能问题,或记录关于系统状态的数据。例如,shell 脚本可以测试 CPU 零状态、饱和状态的空闲百分比,并可以在出现 CPU 饱和状况时执行另一个 shell 脚本。以下脚本用来记录消耗了大部分 CPU 时间的 15 个活动进程(不是该脚本的用户拥有的进程):
# ps -ef | egrep -v "STIME|$LOGNAME" | sort +3 -r | head -n 15
使用 vmstat 命令进行连续的性能监视
vmstat 命令用于获取 CPU、页面调度和内存使用情况的总体图形描述。下面是 vmstat 命令生成的样本报告:
# vmstat 5 2 kthr 内存 页面 故障 cpu ----- ----------- ------------------------ ------------ ----------- r b avm fre re pi po fr sr cy in sy cs us sy id wa 1 1 197167 477552 0 0 0 7 21 0 106 1114 451 0 0 99 0 0 0 197178 477541 0 0 0 0 0 0 443 1123 442 0 0 99 0
请记住来自 vmstat 命令的第一份报告显示自上一次系统引导以来的累积活动。第二份报告显示第一个 5 秒间隔时间的活动。
使用 iostat 命令进行连续的性能监视
iostat 命令用于确定磁盘和 CPU 的使用情况。下面是 iostat 命令生成的样本报告:
# iostat 5 2 tty: tin tout avg-cpu: % user % sys % idle % iowait 0.1 102.3 0.5 0.2 99.3 0.1 “自引导以来的磁盘历史记录不可用。” tty: tin tout avg-cpu: % user % sys % idle % iowait 0.2 79594.4 0.6 6.6 73.7 19.2 磁盘: % tm_act Kbps tps Kb_read Kb_wrtn hdisk1 0.0 0.0 0.0 0 0 hdisk0 78.2 1129.6 282.4 5648 0 cd1 0.0 0.0 0.0 0 0
请记住来自 iostat 命令的第一份报告显示自上一次系统引导以来的累积活动。第二份报告显示第一个 5 秒间隔时间的活动。
系统维护磁盘活动的历史记录。在上述示例中可看到因出现以下消息而禁用历史记录:
自引导以来的磁盘历史记录不可用。
要使用 smitty 禁用或启用磁盘 I/O 历史记录,请在命令行上输入以下命令:
# smitty chgsys 持续维护磁盘 I/O 历史记录 [value]
并将 value 设置为 false 来禁用磁盘 I/O 历史记录,否则设置为 true启用磁盘 I/O 历史记录。磁盘 I/O 的时间间隔统计信息不受此设置影响。
使用 netstat 命令进行连续的性能监视
netstat 命令用于确定发送的接收的信息包数。以下是 netstat 命令生成的样本报告:
# netstat -I en0 5 input (en0) output input (Total) output packets errs packets errs colls packets errs packets errs colls 8305067 0 7784711 0 0 20731867 0 20211853 0 0 3 0 1 0 0 7 0 5 0 0 24 0 127 0 0 28 0 131 0 0 CTRL C
请记住来自 netstat 命令的第一份报告显示自上一次系统引导以来的累积活动。第二份报告显示第一个 5 秒间隔时间的活动。
使用 sar 命令进行连续的性能监视
sar 命令用于确定 CPU 使用情况。下面是 sar 命令生成的样本报告:
# sar -P ALL 5 2 AIX aixhost 2 5 00040B0F4C00 01/29/04 10:23:15 cpu %usr %sys %wio %idle 10:23:20 0 0 0 1 99 1 0 0 0 100 2 0 1 0 99 3 0 0 0 100 - 0 0 0 99 10:23:25 0 4 0 0 96 1 0 0 0 100 2 0 0 0 100 3 3 0 0 97 - 2 0 0 98 Average 0 2 0 0 98 1 0 0 0 100 2 0 0 0 99 3 1 0 0 99 - 1 0 0 99
sar 命令不报告自最近一次系统引导以来的累积活动。
topas 程序报告本地系统字符终端中的活动的重要统计信息。系统上必须安装 bos.perf.tools 文件集来运行 topas 程序。
topas 程序以 2 秒的缺省时间间隔从系统上抽取并显示统计信息。topas 程序提供以下备用屏幕:
总体系统统计信息屏幕的输出由一个固定区域和一个可变区域组成。输出左边前两行显示运?topas 程序的系统名称、最后检查的日期和时间以及监视时间间隔。在这块区域下是一个可变区域,其中列出了以下子区域:
这块区域的右边是包含以下统计信息子区域的固定区域:
下面是总体系统统计信息屏幕的样本输出:
主机的 Topas 监视器: aixhost 事件/队列 文件/TTY Wed Feb 4 11:23:41 2004 Interval: 2 Cswitch 53 Readch 6323 Syscall 152 Writech 431 内核 0.0 | | Reads 3 Rawin 0 用户 0.9 | | Writes 0 Ttyout 0 等待 0.0 | | Forks 0 Igets 0 空闲 99.0 |############################| Execs 0 Namei 10 Runqueue 0.0 Dirblk 0 网络 KBPS I-Pack O-Pack KB-In KB-Out Waitqueue 0.0 en0 0.8 0.4 0.9 0.0 0.8 lo0 0.0 0.0 0.0 0.0 0.0 调页 内存 Faults 2 Real,MB 4095 磁盘 Busy% KBPS TPS KB-Read KB-Writ Steals 0 % Comp 8.0 hdisk0 0.0 0.0 0.0 0.0 0.0 PgspIn 0 % Noncomp 15.8 hdisk1 0.0 0.0 0.0 0.0 0.0 PgspOut 0 % Client 14.7 PageIn 0 WLM 类(活动) CPU% Mem% 磁盘 I/O% PageOut 0 调页空间 系统 0 0 0 Sios 0 Size,MB 512 共享 0 0 0 % Used 1.2 缺省值 0 0 0 NFS (calls/sec) % Free 98.7 名称 PID CPU% PgSp 类 0 ServerV2 0 topas 10442 3.0 0.8 System ClientV2 0 Press: ksh 13438 0.0 0.4 System ServerV3 0 按“h”获取帮助 gil 1548 0.0 0.0 System ClientV3 0 按“q”退出
除了可变的“进程”子区域外,可以按任一列对所有子区域排序,方法是将光标移到期望的列的项部。除了“进程”子区域以外的所有可变子区域都具有以下视图:
例如,单行报告视图可能只显示磁盘或网络的总吞吐量。
对于 CPU 子区域,您可以选择繁忙处理器的列表或全局 CPU 使用率,如上述示例所示。
要查看列出最繁忙进程的屏幕,请使用 topas 命令的 -P 标志。此屏幕类似于总体系统统计信息屏幕的“进程”子区域,但具有额外的详细信息。可以按任一列对此屏幕排序,方法是将光标移到期望的列的项部。下面是最繁忙进程屏幕的输出示例:
主机的 Topas 监视器: aixhost 时间间隔: 2 2004/02/04 星期三 11:24:05 数据 文本 页面 缺页故障 用户 PID PPID PRI NI RES RES 空间 时间 CPU% I/O OTH 命令 root 1 0 60 20 202 9 202 0:04 0.0 111 1277 init root 774 0 17 41 4 0 4 0:00 0.0 0 2 reaper root 1032 0 60 41 4 0 4 0:00 0.0 0 2 xmgc root 1290 0 36 41 4 0 4 0:01 0.0 0 530 netm root 1548 0 37 41 17 0 17 1:24 0.0 0 23 gil root 1806 0 16 41 4 0 4 0:00 0.0 0 12 wlmsched root 2494 0 60 20 4 0 4 0:00 0.0 0 6 rtcmd root 2676 1 60 20 91 10 91 0:00 0.0 20 6946 cron root 2940 1 60 20 171 22 171 0:00 0.0 15 129 errdemon root 3186 0 60 20 4 0 4 0:00 0.0 0 125 kbiod root 3406 1 60 20 139 2 139 1:23 0.0 1542187 syncd root 3886 0 50 41 4 0 4 0:00 0.0 0 2 jfsz root 4404 0 60 20 4 0 4 0:00 0.0 0 2 lvmbb root 4648 1 60 20 17 1 17 0:00 0.0 1 24 sa_daemon root 4980 1 60 20 97 13 97 0:00 0.0 37 375 srcmstr root 5440 1 60 20 15 2 15 0:00 0.0 7 28 shlap root 5762 1 60 20 4 0 4 0:00 0.0 0 2 random root 5962 4980 60 20 73 10 73 0:00 0.0 22 242 syslogd root 6374 4980 60 20 63 2 63 0:00 0.0 2 188 rpc.lockd root 6458 4980 60 20 117 12 117 0:00 0.0 54 287 portmap
要查看显示 WLM 统计信息的屏幕,请使用 topas 命令的 -W 标志。此屏幕分为以下部分:
下面是 WLM 全屏报告的示例:
主机的 Topas 监视器: aixhost 时间间隔: 2 2004/02/04 星期三 11:24:29 WLM 类(活动) CPU% Mem% 磁盘 I/O% 系统 0 0 0 共享 0 0 0 缺省值 0 0 0 非受管 0 0 0 未分类 0 0 0 ============================================================================== 数据 文本 页面 缺页故障 用户 PID PPID PRI NI RES RES 空间 时间 CPU% I/O OTH 命令 root 1 0 60 20 202 9 202 0:04 0.0 0 0 init root 774 0 17 41 4 0 4 0:00 0.0 0 0 reaper root 1032 0 60 41 4 0 4 0:00 0.0 0 0 xmgc root 1290 0 36 41 4 0 4 0:01 0.0 0 0 netm root 1548 0 37 41 17 0 17 1:24 0.0 0 0 gil root 1806 0 16 41 4 0 4 0:00 0.0 0 0 wlmsched root 2494 0 60 20 4 0 4 0:00 0.0 0 0 rtcmd root 2676 1 60 20 91 10 91 0:00 0.0 0 0 cron root 2940 1 60 20 171 22 171 0:00 0.0 0 0 errdemon root 3186 0 60 20 4 0 4 0:00 0.0 0 0 kbiod