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


任何长时间的或未预料到的较高的值都可能表示存在问题,并且需要进行进一步的研究 。如果这些数值较低,但系统却运行迟缓,那么可能表示存在交换空间的问题 。
使用 ruptime
如果您管理着由许多系统组成的大型网络,那么有一种简单的方法来监视负载和网络中所有计算机的使用情况 。ruptime 工具收集网络上所有计算机广播的数据,并将其集中到一个本地文件中,以便对所有计算机的当前状态进行检查 。
例如,清单 1 显示了一个小型网络的输出结果:
清单 1. 一个小型网络的输出
$ ruptime
bear up 10 09:13, 2 users, load 0.66, 0.68, 0.50
ultra3up 6 01:16, 1 user,load 0.00, 0.00, 0.00
atuindown 4 00:52
最后一台计算机 11 分钟内没有报告任何数据,所以将其列为停机 。
要生成这些信息,需要在本地网络中的每台计算机上运行 rwhod 守护进程(有时候是 in.rwhod) 。这个守护进程为本地计算机广播信息,并收集来自所有其他计算机的广播数据 。
因为 rwho/ruptime 系统的工作方式的原因,所以可能存在一些性能问题,尤其是在大型的网络中,它们生成的大量的系统报告和网络流量可能是有害的 。在非常繁忙的系统中,对这些数据进行广播的需求可能也就意味着永远无法报告这些信息,这些数据可能过期,或者在系统繁忙时将其报告为停机 。
跟踪大型进程
如果您怀疑是一个大型的或过度繁忙的进程导致了该问题,那么您应该检查 ps 工具的输出,查找进程大小、内存百分比和 CPU 利用率 。在 SVR4 系统(Solaris 和 AIX┲校梢允褂孟铝忻罾椿竦媒痰牧斜恚ㄇ氩渭宓?2) 。
清单 2. 获得进程列表的命令
$ ps -A -o pCPU,pmem,RSS,vsz,comm
%CPU %MEM RSS VSZ COMMAND
0.2 0.000 fsflush
0.1 0.2 1464 8288 /usr/lib/ssh/sshd
0.1 0.1 1032 1320 ps
0.0 1.0 9536 47608 /usr/openwin/bin/Xsun
0.0 0.7 6312 10720 dtgreet
0.0 0.6 6136 9352 /usr/sfw/sbin/snmpd
0.0 0.4 3208 5720 /usr/lib/fm/fmd/fmd
0.0 0.3 2808 8512 /usr/lib/ssh/sshd
0.0 0.3 2800 8504 /usr/lib/ssh/sshd
0.0 0.3 2768 8512 /usr/lib/ssh/sshd
0.0 0.3 2368 4056 /usr/sbin/nscd
0.0 0.2 2096 9176 /usr/dt/bin/dtlogin
...
清单 3 显示了在 BSD 派生系统中的 ps 工具的输出 。
清单 3. 一个 BSD 系统中获得的进程列表
$ ps -A -o pcpu,pmem,rss,vsz,command|sort -n3
%CPU %MEMRSS VSZ COMMAND
 0.0 0.015227236 nfsd-server
 0.0 0.015227236 nfsd-server
 0.0 0.015227236 nfsd-server
 0.0 0.015227236 nfsd-server
 0.0 0.015227236 nfsd-server
 0.0 0.015227236 nfsd-server
 0.0 0.015227236 nfsd-server
 0.0 0.015227236 nfsd-server
 0.0 0.016427236 nfsd-master
 0.0 0.022427240 /usr/sbin/update
 0.0 0.3436429196 /usr/sbin/securityd
 0.0 0.2276029288 jabberd -c /etc/jabber/jabber.xml -H
/private/var/jabber/ -U jabber
 0.0 0.018429300 nfsiod -n 4
0.0 0.2354429712 /usr/sbin/configd
 0.0 0.050030628 /usr/sbin/sshd -i
 0.0 0.026030648 /usr/sbin/smbd -D
 0.0 0.073630648 /usr/sbin/smbd -D
 0.0 0.1121630700 /usr/sbin/sshd -i
...
 0.0 0.1218050664 imapd: narcissus.mcslp.pri [192.168.0.110]
mc user.mc 
 0.0 0.1218450664 imapd: sulaco.mcslp.pri [192.168.0.101]
mc user.mc
 0.0 0.1220450720 imapd: narcissus.mcslp.pri [192.168.0.110]
buy user.buy
 0.0 0.1226450720 imapd: sulaco.mcslp.pri [192.168.0.101] buy
user.buy 
 0.0 0.1227250984 imapd: kernel.mcslp.pri [192.168.0.106] slp
user.slp 
 0.0 1.2 1834854368 servermgrd -x

推荐阅读