zoukankan      html  css  js  c++  java
  • Linux性能测试 sar命令

    sar命令包含在sysstat工具包中,提供系统的众多统计数据。其在不同的系统上命令有些差异

    sar 命令行的常用格式:

    [root@C44 ~]# sar
    sysstat version 5.1.5
    (C) Sebastien Godard
    Usage: sar [ options... ] [ <interval> [ <count> ] ]
    Options are:
    [ -A ] [ -b ] [ -B ] [ -c ] [ -d ] [ -i <interval> ] [ -p ] [ -q ]
    [ -r ] [ -R ] [ -t ] [ -u ] [ -v ] [ -V ] [ -w ] [ -W ] [ -y ]
    [ -I { <irq> | SUM | ALL | XALL } ] [ -P { <cpu> | ALL } ]
    [ -n { DEV | EDEV | NFS | NFSD | SOCK | FULL } ]
    [ -x { <pid> | SELF | ALL } ] [ -X { <pid> | SELF | ALL } ]
    [ -o [ <filename> ] | -f [ <filename> ] ]
    [ -s [ <hh:mm:ss> ] ] [ -e [ <hh:mm:ss> ] ]
    [root@C44 ~]# 

    在命令行中,count 和interval 两个参数组合起来定义采样间隔和次数,interval为采样间隔,是必须有的参数,count为采样次数,是可选的,默认值是1,-o file表示将命令结果以二进制格式存放在文件中,file 在此处不是关键字,是文件名。options 为命令行选项,sar命令的选项很多,常用选项如下:
    -A:所有报告的总和。
    -u:CPU利用率
    -v:进程、I节点、文件和锁表状态。
    -d:硬盘使用报告。
    -r:没有使用的内存页面和硬盘块。
    -g:串口I/O的情况。
    -b:缓冲区使用情况。
    -a:文件读写情况。
    -c:系统调用情况。
    -R:进程的活动情况。
    -y:终端设备活动情况。
    -w:系统交换活动。
    -n:网络统计

    下面将举例说明。

    例一:使用命令行 sar -u t n
    例如,每1秒采样一次,连续采样5次,观察CPU 的使用情况,需键入如下命令:

    [root@C44 ~]#  sar -u 1 5
    Linux 2.6.14.7-selinux1-WR1.4aq_cgl (MSP)       01/03/07
    17:51:51          CPU     %user     %nice   %system   %iowait     %idle
    17:51:52          all      0.00      0.00      0.50      0.00     99.50
    17:51:53          all      6.53      0.00      2.01      0.00     91.46
    17:51:54          all      0.51      0.00      0.51      0.00     98.99
    17:51:55          all      1.01      0.00      0.50      0.50     97.99
    17:51:56          all      4.04      0.00      1.52      0.00     94.44
    Average:          all      2.42      0.00      1.01      0.10     96.48
    [root@C44 ~]#  

    在显示内容包括:

      %usr:CPU处在用户模式下的时间百分比。
        %nice:CPU处在低先级模式下的时间百分比。
      %sys:CPU处在系统模式下的时间百分比。
      %iowait:CPU等待输入输出完成时间的百分比。
      %idle:CPU空闲时间百分比。

    例二:使用命行sar -v t n
    例如,每2秒采样一次,连续采样3次,观察核心表的状态,需键入如下命令:

    [root@C44 ~]#  sar -v 2 3
    17:53:50    dentunusd   file-sz  inode-sz  super-sz %super-sz  dquot-sz %dquot-sz  rtsig-sz %rtsig-sz
    17:53:52        12947      5340     14310         0      0.00         0      0.00         0      0.00
    17:53:54        12948      5340     14316         0      0.00         0      0.00         0      0.00
    17:53:56        12948      5340     14316         0      0.00         0      0.00         0      0.00
    Average:        12948      5340     14314         0      0.00         0      0.00         0      0.00
    [root@C44 ~]#  

    例三:使用命行sar -d t n
    例如,每30秒采样一次,连续采样5次,报告设备使用情况,需键入如下命令:
    # sar -d 30 5
    屏幕显示:

    SCO_SV scosysv 3.2v5.0.5 i80386 10/01/2001
    11:06:43 device %busy   avque   r+w/s  blks/s  avwait avserv (-d)
    11:07:13 wd-0   1.47   2.75   4.67   14.73   5.50 3.14
    11:07:43 wd-0   0.43   18.77   3.07   8.66   25.11 1.41
    11:08:13 wd-0   0.77   2.78   2.77   7.26   4.94 2.77
    11:08:43 wd-0   1.10   11.18   4.10   11.26   27.32 2.68
    11:09:13 wd-0   1.97   21.78   5.86   34.06   69.66 3.35
    Average wd-0   1.15   12.11   4.09   15.19   31.12 2.80 

    显示内容包括:
    device: sar命令正在监视的块设备的名字。
    %busy: 设备忙时,传送请求所占时间的百分比。
    avque: 队列站满时,未完成请求数量的平均值。
    r+w/s: 每秒传送到设备或从设备传出的数据量。
    blks/s: 每秒传送的块数,每块512字节。
    avwait: 队列占满时传送请求等待队列空闲的平均时间。
    avserv: 完成传送请求所需平均时间(毫秒)。

    例四 网络统计情况

    [root@C44 ~]#  sar -n SOCK 3 2   
    Linux 2.6.14.7-selinux1-WR1.4aq_cgl (MSP)       01/03/07
    
    17:58:43       totsck    tcpsck    udpsck    rawsck   ip-frag
    17:58:46         1414       658       123         1         0
    17:58:49         1414       658       123         1         0
    Average:         1414       658       123         1         0
    [root@C44 ~]#  

    totsck 使用的套接字总数量
    tcpsck 使用的TCP套接字数量
    udpsck 使用的UDP套接字数量
    rawsck 使用的raw套接字数量
    ip-frag 使用的IP段数量
     

    例五:使用命行sar -b t n
    例如,每5秒采样一次,连续采样2次,报告缓冲区的使用情况,需键入如下命令:
    屏幕显示:

    [root@C44 ~]#  sar -b 5 2
    Linux 2.6.14.7-selinux1-WR1.4aq_cgl (MSP)       01/03/07
    
    18:04:24          tps      rtps      wtps   bread/s   bwrtn/s
    18:04:29         0.00      0.00      0.00      0.00      0.00
    18:04:34         0.00      0.00      0.00      0.00      0.00
    Average:         0.00      0.00      0.00      0.00      0.00
    [root@C44 ~]#  

    显示内容包括:
    bread/s: 每秒从硬盘读入系统缓冲区buffer的物理块数。
    lread/s: 平均每秒从系统buffer读出的逻辑块数。
    %rcache: 在buffer cache中进行逻辑读的百分比。
    bwrit/s: 平均每秒从系统buffer向磁盘所写的物理块数。
    lwrit/s: 平均每秒写到系统buffer逻辑块数。
    %wcache: 在buffer cache中进行逻辑读的百分比。
    pread/s: 平均每秒请求物理读的次数。
    pwrit/s: 平均每秒请求物理写的次数。
    在显示的内容中,最重要的是%cache和%wcache两列,它们的值体现着buffer的使用效率,%rcache的值小于90或者%wcache的值低于65,应适当增加系统buffer的数量,buffer数量由核心参数NBUF控制,使%rcache达到90左右,%wcache达到80左右。但buffer参数值的多少影响I/O效率,增加buffer,应在较大内存的情况下,否则系统效率反而得不到提高。

    例六:使用命行sar -g t n
    例如,每30秒采样一次,连续采样5次,报告串口I/O的操作情况,需键入如下命令:
    # sar -g 30 5
    屏幕显示:

    SCO_SV scosysv 3.2v5.0.5 i80386  11/22/2001
    17:07:03  ovsiohw/s  ovsiodma/s  ovclist/s (-g)
    17:07:33   0.00   0.00   0.00
    17:08:03   0.00   0.00   0.00
    17:08:33   0.00   0.00   0.00
    17:09:03   0.00   0.00   0.00
    17:09:33   0.00   0.00   0.00
    Average    0.00   0.00   0.00

    显示内容包括:
    ovsiohw/s:每秒在串口I/O硬件出现的溢出。
    ovsiodma/s:每秒在串口I/O的直接输入输出通道高速缓存出现的溢出。
    ovclist/s :每秒字符队列出现的溢出。
    在显示的内容中,每一列的值都是零,表明在采样时间内,系统中没有发生串口I/O溢出现象。

  • 相关阅读:
    springcloud 项目源码 微服务 分布式 Activiti6 工作流 vue.js html 跨域 前后分离
    springcloud 项目源码 微服务 分布式 Activiti6 工作流 vue.js html 跨域 前后分离
    OA办公系统 Springboot Activiti6 工作流 集成代码生成器 vue.js 前后分离 跨域
    java企业官网源码 自适应响应式 freemarker 静态引擎 SSM 框架
    java OA办公系统源码 Springboot Activiti工作流 vue.js 前后分离 集成代码生成器
    springcloud 项目源码 微服务 分布式 Activiti6 工作流 vue.js html 跨域 前后分离
    java 视频播放 弹幕技术 视频弹幕 视频截图 springmvc mybatis SSM
    最后阶段总结
    第二阶段学习总结
    第一阶段学习总结
  • 原文地址:https://www.cnblogs.com/lanzhi/p/6468307.html
Copyright © 2011-2022 走看看