UNIX性能分析

Column Descriptions
        The column headings and the meaning of each column are:
                procs        Information about numbers of processes in various
                                states.
                                    r        In run queue
                                    b        Blocked for resources (I/O, paging, etc.)
                                    w        Runnable or short sleeper (
                memory        Information about the usage of virtual and real
                                memory.    Virtual pages are considered active if they
                                belong to processes that are running or have run in
                                the last 20 seconds.
                                    avm        Active virtual pages
                                    free    Size of the free list
                page            Information about page faults and paging activity.
                                These are averaged each five seconds, and given in
                                units per second.
                                    re        Page reclaims (without -S)
                                    at        Address translation faults (without -S)
                                    si        Processes swapped in (with -S)
                                    so        Processes swapped out (with -S)
                                    pi        Pages paged in
                                    po        Pages paged out
Hewlett-Packard Company                - 2 -    HP-UX Release 11i: November 2000
vmstat(1)                                                                            vmstat(1)
                                    fr        Pages freed per second
                                    de        Anticipated short term memory shortfall
                                    sr        Pages scanned by clock algorithm, per
                                                second
                                               
    faults        Trap/interrupt rate averages per second over last 5
                                seconds.
                                    in        Device interrupts per second (nonclock)
                                    sy        System calls per second
                                    cs        CPU context switch rate (switches/sec)
                cpu            Breakdown of percentage usage of CPU time for the
                                active processors
                                    us        User time for normal and low priority
                                                processes
                                    sy        System time
                                    id        CPU idle
EXAMPLES               

[gznms02@/home]#vmstat 5 3
            procs                memory                        page                                        faults        cpu
    r        b        w        avm    free    re    at    pi    po    fr    de    sr        in        sy    cs    us sy id
    4        0        0    1420328    12430    385    133    13    0        0    0    34    748    26478    1427    36    5 59
    4        0        0    1420328    11885    102    98    18    0        0    0        0    927    33683    979    7    6 87
    1        0        0    1368639    12373    145    58    11    0        0    0        0    883    36595    938    6    5 89
一般来说vmstat的性能指标为:wa不超过25,us+sy多用户情况下不超过80%,r和b不高于5,pi和po基本为零,fr:sr 接近1:1(当然都为零最好),fre一般不要底到120.   
       

2    [gznms02@/home]#sar -u 1 10                       
                                                               
    HP-UX gznms02 B.11.11 U 9000/800    08/07/07
                                                               
    18:39:21    %usr    %sys    %wio    %idle       
    18:39:22        9        5        70        16       
    18:39:23        13        5        57        25       
    18:39:24        19        10        40        32       
    18:39:25        2        2        53        43       
    18:39:26        26        8        40        26       
    18:39:27        0        1        52        47       
    18:39:28        10        8        47        35       
    18:39:29        6        9        44        41   
    18:39:30        1        3        50        47   
    18:39:31        15        6        47        32   
                                                           
    Average        10        6        50        34   
       
       
%wio的值过高,表示硬盘存在I/O瓶颈;                                                   
                                                                                                   
%idle值高,表示CPU较空闲。                                                               
                                                                                                   
如果%idle值高但系统响应慢时,有可能是CPU等待分配内存,此时应加大内存容量。
                                                                                                   
%idle值如果持续低于10,那么系统的CPU处理能力相对较低,表明系统中最需要解决的资源是CPU。
       
       
       
       
       
3.2 sar 工具;
sar 工具比较强大,既能收集系统CPU、硬盘、动态数据,也能显示动态显示,更能查看二进制数据文件;sar 的应用比较多,而且也比较复杂,数据更为精确。我们只了解一下常用的内容就行,大多数内容我们了解就行;
用法:
sar [参数选项]
参数说明:
-A 显示所有历史数据,通过读取/var/log/sar 目录下的所有文件,并把它们分门别类的显示出来;
-b 通过设备的I/O中断读取设置的吞吐率;
-B 报告内存或虚拟内存交换统计;
-c 报告每秒创建的进程数;
-d 报告物理块设备(存储设备)的写入、读取之类的信息,如果直观一点,可以和p参数共同使用,-dp
-f 从一个二进制的数据文件中读取内容,比如 sar -f filename
-i interval 指定数据收集的时间,时间单位是秒;
-n 分析网络设备状态的统计,后面可以接的参数有 DEV、EDEV、NFS、NFSD、SOCK等。比如-n DEV
-o 把统计信息写入一个文件,比如 -o filename ;
-P 报告每个处理器应用统计,用于多处理器机器,并且启用SMP内核才有效;
-p 显示友好设备名字,以方便查看,也可以和-d 和-n 参数结合使用,比如 -dp 或-np
-r 内存和交换区占用统计;
-R
-t 这个选项对从文件读取数据有用,如果没有这个参数,会以本地时间为标准 读出;
-u 报告CPU利用率的参数;
-v 报告inode, 文件或其它内核表的资源占用信息;
-w 报告系统交换活动的信息; 每少交换数据的个数;
-W 报告系统交换活动吞吐信息;
-x 用于监视进程的,在其后要指定进程的PID值;
-X 用于监视进程的,但指定的应该是一个子进程ID;
sar 应用举例;
实例一: 如果只用sar 命令,sar就是读取 /var/log/sa目录下最近系统状态文件。
[root@localhost ~]# sar
[root@localhost ~]# sar -A 注:读取/var/log/sa目录下所有文件数据;
如果我们想知道CPU的利用率;动态更新;下面的例子是每秒更新一次数据,总共更新五次;
[root@localhost ~]# sar -u    1 5
Linux 2.6.15-1.2054_FC5 (localhost.localdomain)            2006年05月12日
时间                            CPU    利用率    nice值        系统占用    IO占用    空闲
11时19分34秒        CPU        %user        %nice    %system    %iowait        %idle
11时19分35秒        all        2.97        0.00        0.00        0.00        97.03
11时19分36秒        all        11.11        0.00        9.09        0.00        79.80
11时19分37秒        all        21.78        0.00        6.93        0.00        71.29
11时19分38秒        all        15.00        0.00        0.00        0.00        85.00
11时19分39秒        all        8.00        0.00        0.00        0.00        92.00
Average:            all        11.78        0.00        3.19        0.00        85.03
注解:
CPU:表示机器内所有的CPU;
%user 表示CPU的利用率;
%nice 表示CPU在用户层优先级的百分比,0表示正常;
%system 表示当系统运行时,在用户应用层上所占用的CPU百分比;
%iowait 表示请求硬盘I/0数据流出时,所占用CPU的百分比;
%idle 表示空闲CPU百分比,值越大系统负载越低;
您可以CPU利用率的动态信息输出到一个文本文件中,然后通过more 来查看。
[root@localhost ~]# sar -u 1 5 > sar000.txt
[root@localhost ~]# more sar000.txt
也可以输出到一个二进制的文件中,然后通过sar来查看;
[root@localhost ~]# sar -u 1 5 -o sar002
[root@localhost ~]# sar -f sar002
注:如果您把数据通过-o filename 输出到一个二进制的文件中,是不能用文件内容查看工具more 、less或cat来查看的,应该用sar工具来查看,要加-f参数;
实例二:查看网络设备的吞吐情况;
比如我们让数据每秒更新一次,总共更新十次;
[root@localhost ~]# sar -n DEV 2 5
时间 IFACE rxpck/s txpck/s rxbyt/s txbyt/s rxcmp/s txcmp/s rxmcst/s
第一字段:时间;
IFACE:设备名;
rxpck/s:每秒收到的包;
rxbyt/s:每秒收到的所有包的体积;
txbyt/s:每秒传输的所有包的体积;
rxcmp/s:每秒收到数据切割压缩的包总数;
txcmp/s :每秒传输的数据切割压缩的包的总数;
rxmcst/s: 每秒收到的多点传送的包;
如果我们从事提取eth0设备(也就是网卡eth0)的信息;我们应该用grep 来过滤。然后再显示出来;
[root@localhost ~]# sar -n DEV 2 5 |grep eth0
11时52分37秒 eth0 1.00 1.00 97.51 97.51 0.00 0.00 0.00
11时52分39秒 eth0 1.01 1.01 98.49 98.49 0.00 0.00 0.00
11时52分41秒 eth0 1.00 1.00 98.00 98.00 0.00 0.00 0.00
11时52分43秒 eth0 1.00 1.00 98.00 98.00 0.00 0.00 0.00
11时52分45秒 eth0 1.00 1.00 98.00 98.00 0.00 0.00 0.00
Average: eth0 1.00 1.00 98.00 98.00 0.00 0.00 0.00
如果想知道网络设备错误报告,也就就是用来查看设备故障的。应该用EDEV;比如下面的例子;
[root@localhost ~]# sar -n EDEV 2 5
3.3 iostat
iostat 是用来显示 系统即时系统,比如CPU使用率,硬盘设备的吞吐率;
[root@localhost ~]# iostat
Linux 2.6.15-1.2054_FC5 (localhost.localdomain)    2006年05月12日
avg-cpu:    %user    %nice %system %iowait    %idle
                7.24    0.00    0.99    0.35    91.43
Device:    tps    Blk_read/s    Blk_wrtn/s    Blk_read    Blk_wrtn
hda        1.46            28.43            21.43        710589        535680
3.4 mpstat
mpstat 提供多处理器系统中的CPU的利用率的统计;mpstat 也可以加参数,用-P来指定哪个 CPU,处理器的ID是从0开始的。下面的例子是查看两个处理器,每二秒数据更新一次,总共要显示10次数据;
[root@localhost ~]# mpstat -P 0 2 10 注:查看第一个CPU
[root@localhost ~]# mpstat -p 1 2 10 注:查看第二个CPU
[root@localhost ~]# mpstat 2 10 注:查看所有CPU;
3.5 sdaf
sdaf 能从二进制文件中提取sar所收集的数据;这个大家知道就行了。显示的并不是友好的格式;
[root@localhost ~]# sar -u 2 5 -o sar003
[root@localhost ~]# sadf sar003
相对来说,用sar来读取输出文件的内容更好;比如下面的;
[root@localhost ~]# sar -f sar003
4、 与Sysstat相似工具;

4.1 进程管理工具;
进程管理工具,包括ps 、pgrep、top、kill 、killall、pkill 等,请参考 《 Linux 进程管理》
4.2 内存使用率查看工具;
内存使用量 free
free 工具既能查看物理内存,也能查看虚拟内存的用量;
[root@localhost ~]# free
如果显示以单位M,则加-m参数;
[root@localhost ~]# free -m
                total used free shared buffers cached
Mem: 724 713 11 0 24 290
-/+ buffers/cache: 398 326
Swap: 800 0 800
vmstat 即时显示内存工具;
vmstat 是一个即时显示内存使用情况的工具;
vmstat 使用方法:
vmstat [-V] [-n] [delay [count]]
                    -V 显示vmstat的版本;
                    -n causes the headers not to be reprinted regularly.
                    -a 显示所有激活和未激活内存的状态;print inactive/active page stats.
                    -d 显示硬盘统计信息;prints disk statistics
                    -D 显示硬盘分区表;prints disk table
                    -p 显示硬盘分区读写状态等;prints disk partition statistics
                    -s 显示内存使用情况;prints vm table
                    -m prints slabinfo
                    -S 定义单位,k K
                    delay 是两次刷新时间间隔;
                    单位体积: k:1000 K:1024 m:1000000 M:1048576 (默认是 K)
                    count 刷新次数;

你可能感兴趣的:(linux,unix,网络应用,活动,HP)