二 性能调试---性能分析工具

1:性能分析工具综述
2:如何知道系统安装了哪些性能分析工具?
3:SAR
4:time和timex
5:iostat
6:vmstat
7:GlancePlus


性能分析工具综述


目前,对系统进行性能调试的工具有很多,这些可以两大类:一类是标准的分析工具,即所有的Unix都会带的分析工具; 另一类是不同厂商的UNIX所特有的性能分析工具,比如HP-UX就有自己的增值性能分析工具 。

标准的分析工具,即所有的UNIX都会带的分析工具:

sar
iostat
vmstat
time
ps
bdf
top
ipcs
uptime
HP-UX自己的增值性能分析工具:

glance/gpm
puma
xps
按性能分析工具的用途来说,它可以分为:

CPU的使用情况:sar,time,top,ps,puma,xps
内存的使用情况:vmstat,ipcs
文件系统状态:dbf,iostat,sar,swapinfo,nfsstat
I/O子系统状态:iostat
网络性能:netstat
按分析时间点来分,性能分析工具可以分为:

日志型分析工具,如puma,xps,它们将在对系统在某一段时间的运行情况进行取样,然后得出某此结果 。这种分析工具非常适合于 针对那些时断时续发生的问题进行分析,因为通过取样,可以得出结论;
实时型分析工具,如glance,它们又称“快照型分析工具”,即它们将实时取出系统运行环境的数据,这种分析工具非常适合于 那些在分析工具正在运行时发生的问题,或一直发生的问题 。

如何知道系统安装了哪些性能分析工具?


想知道系统中安装了何种性能分析工具,运行命令:

#/opt/perf/perfstat -v

SAR-System Activity Reporter


顾名思义,SAR工具将对系统的当前状态进行取样,然后通过计算数据和比例来表达系统的当前运行状态 。它的特点是:

System V-based,在很多的UNIX版本中都存在;
可以连续对系统取样,获得大量的取样数据;
取样数据和分析的结果都可以入文件;
自己所需的负载很小
SAR也有一个致命的不足,这就是:SAR不能对某个进程进行深入分析,它仅是一对系统的整体情况进行分析 。

SAR的语法为:

#sar [-ubdycwaqvmAMS] [-o file] t [n]:每隔t秒取样一次,共取样n次,其中-o file表示取样结果将以二进制形式存入文件file中;
#sar [-ubdycwaqvmAMS] [-s time] [-e time] [-i sec] [-f file]:表示从file文件中取出数据,如果没有指定-f file,则从标准数据文件/var/adm/sa/sadd取数据,其中dd表示当前日子 。另外,-s time表示起始时间;-e time表示停止时间;-i sec表示取样的时间间隔,如果不指定则表示取文件中所有的数据 。
对[-ubdycwaqvmAMS]的解释请参阅相关的系统分析领域,如-u表示对CPU的分析;-A表示汇总所有数据,即等于-ubdycwaqvm,-M表示对多个CPU环境中每个CPU都进行各自的分析,一般它与-q和-u联合使用,以对每个CPU的使用情况进行分析
从前面的命令语法中可知,sar可以从一个文件中读取性能数据,这个文件可以通过sar来产生(如sar -o file 2 3),也可以通过其他的命令来产生,具体地说,可以通过以下几个命令来产生:

#/usr/lbin/sa/sadc [t n] [ofile]:以t秒为时间间隔,共取样n次,所有数据存入文件ofile 。如果我们要对系统进行分析,则通常的做法是:第一步,mkdir /var/adm/sa;第二步,chown adm:adm /var/adm/sa; 第三步,/usr/lbin/sa/sadc /var/adm/sa/sa`date%d`,它会在/var/adm/sa目录下创建一个sadd文件,其中dd表示当前日期,这个命令将对以前取样进行清零 。
运行shell命令:#/usr/lbin/sa/sa1 [t n]:表示以t秒为时间间隔,共取样n次,所有数据存入文件/var/adm/sa目录下的sadd文件,其中dd表示当前日期;
运行shell命令:#/usr/lbin/sa/sa2 [-ubdycwaqvmA] [-s time] [-e time] [i sec]:

推荐阅读