• 当前位置:首页>>Solaris系统教程>>Solaris系统管理>>性能调试---(二)性能分析工具
  • 性能调试---(二)性能分析工具
  • 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]:
    一个通过crontab命令来设置定时执行的方案:

    0 * * * 0,6 su adm -c "/usr/lbin/sa/sa1":表示以adm用户执行sa1,每个星期的日、六两天是每小时执行一次sa1命令;

    0 8-17 * * 1-5 su adm -c "/usr/lbin/sa/sa1 3 3"

    0 8-17 * * 1-5 su adm -c "/usr/lbin/sa/sa1"


    在通过sadc或sa1、sa2等后台命令收集数据时,我们必须注意如下两点:

    /usr文件系统的空闲空间够不够
    本月数据将覆盖上月所取样的数据,因此,在系统即将进入下一个月时,必须对本月数据进行备份;
    sa1和sa2是两个shell命令,在目录/usr/lbin/sa下,我们可以修改这两shell文件,以改变缺省的取样方法。


    time和timex


    TIME

    Time命令可以汇报出执行某条命令所花的时间。它的输出包括:实际时间,用户时间和系统时间。

    它的语法:#time ls

    TIMEX

    和time一样,timex可以汇报出执行某条命令所花的时间,不过它可以给出更多的信息。

    选项-s:prints sar data for the interval in which the program ran.

    option -p: List process accounting records for command and all its children.This option works only if the process accounting software is installed and /usr/lib/acct/turnacct has been invoked to create /var/adm/pacct

    iostat-I/O statistics Reporter


    iostat(输入/输出统计)工具将对系统的磁盘操作活动进行监视,它的输出结果会比sar -d的输出结果更有用。它的特点是:

    Berkeley-based,在很多的UNIX版本中都存在;
    汇报磁盘活动统计情况,同时也会汇报出终端和CPU使用情况;
    looks at information on a per-spindle basis
    和SAR一样,它也有一个致命的不足,这就是:iostat不能对某个进程进行深入分析,它仅是一对系统的整体情况进行分析。

    iostat的语法为:

    iostat [-t] [interval [count]]
    interval: Display successive lines which are summaries of the last interval seconds. The first line reported is for the time since a reboot and each subsequent line is for the last interval only.
    count: Repeat the statistics count times.
    -t: Report terminal statistics as well as disk statistics.


    vmstat-Virtual Meomory Statistics


    vmstat工具将对系统的虚拟内存、进程、CPU活动进行监视,同时它也对磁盘和forks和vforks操作的个数进行汇总。它的特点是:

    Berkeley-based,在很多的UNIX版本中都存在;
    汇报虚拟内存、进程、CPU活动统计情况,同时也会汇报出磁盘活动情况和forks和vforks操作的个数;
    和iostat一样,它也有一个致命的不足,这就是:vmstat不能对某个进程进行深入分析,它仅是一对系统的整体情况进行分析。

    vmstat的语法为:

    vmstat [-dnS] [interval [count]]
    vmstat -f | -s | -z

    GlancePlus


    GlancePlus是HP公司的性能分析工具,它是一个联机性能分析和诊断工具,用于监控正在发生的系统活动情况。它的特点是:

    联机性能分析和诊断;
    监控系统资源的使用情况;
    多屏幕输出;
    带有联机帮助;
    进程阀值识别和报警,这个阀值可以基于被监控的进程、资源的利用率、用户、进程名或者终端名;
    和前面介绍的其他性能分析工具,如:SAR,iostat,vmstat等相比,GlancePlus有一最大好处,这就是:GlancePlus不仅能对系统的整体情况进行分析,而且还可以对某个进程进行深入分析。

    GlancePlus所有监控的系统资源主要有以下这些,应该说,它们已经包括了主要的系统资源。

    CPU、磁盘、内存和交换区的整体使用情况;
    全局进程的活动情况;
    CPU的详细使用情况;
    内存的详细使用情况;
    文件系统、设备和逻辑卷的磁盘输入/输出;
    磁盘队列和长度;
    交换区的详细使用情况;
    系统表的使用情况;
    单个进程的活动情况;
    GlancePlus的运行形式有两种:

    图形方式:#/opt/perf/bin/gpm,或以后台方式运行#gpm&;不过,我们必须先设置环境变量DISPLAY,因为它是图形输出的目的地,比如:export DISPLAY=主机名(IP地址):0.0;如果是工作站telnet别的主机上,则本工作站还要运行#xhost +,表示别的机器上输出可以到本工作站;
    终端方式:#/opt/perf/bin/glance
    GlancePlus的界面主要有两部分,上面部分是系统资源的整体使用情况,下面部分则按不同的资源的详细使用情况。

    GlancePlus的界面的上面部分的详细说明,其中字母表示谁用了资源,而字母之间的长度资源占用率。

    CPU的利用率:S-系统CPU利用率,U-用户CPU利用率,R-实时CPU利用率,N-nice CPU利用率,A-negative-nice CPU利用率;
    磁盘的利用率:F-文件系统I/O,V-虚拟内存I/O
    内存的利用率:S-用于系统代码和数据的内存,U-用于用户代码和数据的内存,B-用作缓存的内存
    交换区的利
  • 上一篇:Solaris 系统管理命令及相关技术中英文对照参考
    下一篇:性能调试---(五)I/O性能分析