• 【转贴】使用sar进行性能分析


    使用sar进行性能分析

    https://www.cnblogs.com/bangerlee/articles/2545747.html
    
    很早之前就看过 但是自己一直没用过。。

    2012-06-12 00:43 by bangerlee, 10214 阅读, 0 评论, 收藏编辑

    sar可用于监控Linux系统性能,帮助我们分析性能瓶颈。sar工具的使用方式为”sar [选项] intervar [count]”,其中interval为统计信息采样时间,count为采样次数。

     

    下文将说明如何使用sar获取以下性能分析数据:

    1. 整体CPU使用统计
    2. 各个CPU使用统计
    3. 内存使用情况统计
    4. 整体I/O情况
    5. 各个I/O设备情况
    6. 网络统计

     

    整体CPU使用统计(-u)

    使用-u选项,sar输出整体CPU的使用情况,不加选项时,默认使用的就是-u选项。以下命令显示采样时间为1s,采样次数为2次,整体CPU的使用情况:

    复制代码
    linux:/ # sar -u 1 2
    Linux 2.6.16.60-0.21-smp (linux)     06/08/12
    
    11:37:07        CPU     %user     %nice   %system   %iowait    %steal     %idle
    11:37:08        all      0.00      0.00      0.25      0.00      0.00     99.75
    11:37:09        all      0.00      0.00      0.25      0.00      0.00     99.75
    Average:        all      0.00      0.00      0.25      0.00      0.00     99.75
    复制代码

    以上主要的统计项的解析如下:

    %user: 用户态下CPU使用时间比率

    %system: 内核态下CPU使用时间比率

    %iowait: CPU等待I/O占用时间比率

    %idle: CPU空闲时间比率

     

    各个CPU使用统计(-P)

    “-P ALL”选项指示对每个内核输出统计信息:

    复制代码
    linux:~ # sar -P ALL 1 1
    Linux 2.6.16.60-0.21-smp (linux)     06/08/12
     
    14:04:37        CPU     %user     %nice   %system   %iowait    %steal     %idle
    14:04:38        all      0.50      0.00      0.12      0.00      0.00     99.38
    14:04:38          0      0.00      0.00      0.00      0.00      0.00    100.00
    14:04:38          1      0.00      0.00      0.00      0.00      0.00    100.00
    14:04:38          2      0.00      0.00      0.00      0.00      0.00    100.00
    14:04:38          3      0.00      0.00      1.00      0.00      0.00     99.00
    复制代码

    其中”CPU”列输出0,1,2,3指示对应的cpu核。也可针对单独一个内核显示,“-P 1”指示显示第二个内核的统计信息。

     

    内存使用情况统计(-r)

    使用-r选项可显示内存统计信息,以下命令显示以1秒为采样时间,显示2次内存信息:

    复制代码
    linux:~ # sar -r  1 2
    Linux 2.6.16.60-0.21-smp (linux)     06/08/12
    
    14:22:50    kbmemfree kbmemused  %memused kbbuffers  kbcached kbswpfree kbswpused  %swpused  kbswpcad
    14:22:51     11727480   4564652     28.02    174460   3995108   8393920         0      0.00         0
    14:22:52     11727480   4564652     28.02    174460   3995108   8393920         0      0.00         0
    Average:     11727480   4564652     28.02    174460   3995108   8393920         0      0.00         0
    复制代码

    上面输出的内存单位为”kb”,各项的名称可自解析其含义。

     

    整体I/O情况(-b)

    使用-b选项,可以显示磁盘I/O的使用情况:

    复制代码
    linux:~ # sar -b 1 2
    Linux 2.6.16.60-0.21-smp (linux)     06/08/12
    
    14:50:33          tps      rtps      wtps   bread/s   bwrtn/s
    14:50:34         0.99      0.00      0.99      0.00      7.92
    14:50:35         4.00      0.00      4.00      0.00    136.00
    Average:         2.49      0.00      2.49      0.00     71.64
    复制代码

    以上各列的含义为:

    tps: 每秒向磁盘设备请求数据的次数,包括读、写请求,为rtps与wtps的和。出于效率考虑,每一次IO下发后并不是立即处理请求,而是将请求合并(merge),这里tps指请求合并后的请求计数。

    rtps: 每秒向磁盘设备的读请求次数

    wtps: 每秒向磁盘设备的写请求次数

    bread: 每秒从磁盘读的bytes数量

    bwrtn: 每秒向磁盘写的bytes数量

     

    各个I/O设备情况(-d)

    使用-d选项可以显示各个磁盘的统计信息,再增加-p选项可以以sdX的形式显示设备名称:

    复制代码
    linux:~ # sar -d -p 1 1
    Linux 2.6.16.60-0.21-smp (linux)     06/08/12
    
    15:43:34          DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
    15:43:35          sda      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
    15:43:35          sdb      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
    15:43:35          sdc      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
    复制代码

    以上输出中DEV列以sdX的方式显示了设备名称。

     

    网络统计(-n)

    使用-n选项可以对网络使用情况进行显示,-n后接关键词”DEV”可显示eth0、eth1等网卡的信息:

    复制代码
    linux:~ # sar -n DEV 1 1
    Linux 2.6.16.60-0.21-smp (linux)     06/08/12
    
    15:50:22        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
    15:50:23           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
    15:50:23         eth0     23.76      1.98      1.59      0.26      0.00      0.00      0.00
    15:50:23         eth1      0.00      0.00      0.00      0.00      0.00      0.00      0.00
    15:50:23         eth2      7.92      0.00      0.60      0.00      0.00      0.00      0.00
    复制代码

    以上主要输出含义如下:

    IFACE: 网络接口名称

    rxpck/s: 每秒收包的数量

    txpck/s: 每秒发包的数量

    rxkB/s: 每秒收的数据量(kB为单位)

    txkB/s: 每秒发的数据量(kB为单位)

     

    sar日志保存(-o)

    最后讲一下如何保存sar日志,使用-o选项,我们可以把sar统计信息保存到一个指定的文件,对于保存的日志,我们可以使用-f选项读取:

    linux:~ # sar -n DEV 1 10 -o sar.out
    linux:~ # sar -d 1 10 -f sar.out

    相比将结果重定向到一个文件,使用-o选项,可以保存更多的系统资源信息。

     

    Reference: 10 Useful Sar(Sysstat) Examples for UNIX/Linux Performance Monitoring

  • 相关阅读:
    陶哲轩实分析 12.5.15 :有限交性质
    opencvresize修改图像尺寸
    opencvflip翻转
    opencvarcLength计算轮廓周长
    opencvLUT查表
    opencvcontourArea计算轮廓面积
    opencvRNG产生随机数
    opencvSVD奇异值分解
    opencvreshape修改行数和通道数
    opencvmean计算均值
  • 原文地址:https://www.cnblogs.com/jinanxiaolaohu/p/11151967.html
Copyright © 2020-2023  润新知