zoukankan      html  css  js  c++  java
  • sar 命令

    NAME
           sar - Collect, report, or save system activity information.
    
    SYNOPSIS
           sar  [  -A  ]  [ -b ] [ -B ] [ -C ] [ -d ] [ -h ] [ -i interval ] [ -m ] [ -p ] [ -q ] [ -r ] [ -R ] [ -S ] [ -t ] [ -u [ ALL ] ] [ -v ] [ -V ] [ -w ] [ -W ] [ -y ] [ -j { ID |
           LABEL | PATH | UUID | ... } ] [ -n { keyword [,...] | ALL } ] [ -I { int [,...] | SUM | ALL | XALL } ] [ -P { cpu [,...] | ALL } ] [ -o [ filename ] |  -f  [  filename  ]  ]  [
           --legacy ] [ -s [ hh:mm:ss ] ] [ -e [ hh:mm:ss ] ] [ interval [ count ] ]
    sar(System Activity Reporter)是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状况、进程活动及IPC有关的活动等。

    参数:
    • -A 汇总所有的报告
    • -B 报告分页的使用情况
    • -b 显示I/O 和传送速率的统计信息
    • -d 报告磁盘的使用情况
    • -e:设置显示报告的结束时间
    • -f:从指定文件提取报告
    • -g 报告串口的使用情况
    • -i:设状态信息刷新的间隔时间
    • -n 报告网络状况
    • -q 报告队列长度和系统平均负载
    • -R 报告内存使用情况
    • -r 报告内存利用率统计
    • -u 报告CPU的利用率
    • -v 报告进程、i节点、文件和锁表状态
    • -w 报告系统交换活动状况
    • -y 报告TTY设备活动状况
     cpu资源监控
    sar -u

      CPU : all 表示统计信息为所有CPU的平均值
      %user: 显示用户级别(application)运行使用CPU总时间的百分比
      %nice: 显示在用户级别, 用于nice操作, 所占用CPU总时间的百分比
      %system : 在核心级别(kernel)运行所使用CPU总时间的百分比
      %iowait: 显示用于等待I/O 操作占用CPU总时间的百分比
      %steal: 管理程序(hypervisor)为另一个虚拟进程提供服务而等待虚拟CPU的百分比
      %idle: 显示CPU空闲时间占用CPU总时间的百分比
      若%iowait 的值过高, 表示硬盘存在I/O 瓶颈
      若%idle 的值高但系统响应慢时, 有可能是CPU等待分配内存, 此时应加大内存容量
      若%idle 的值持续低 , 则系统的CPU 处理能力相对较低, 表明系统中最需要解决的资源是CPU

      inode、文件和其他内核表监控
      sar -v

      

      dentunused : 目录高速缓存中未被使用的条目数量
      file-nr : 文件句柄 (file handle)的使用数量
      inode-nr: 索引节点句柄(inode handle) 的使用数量
      pty-nr: 使用的pty 数量

      内存和交换空间监控

      sar  -r

      

      kbmemfree:这个值和free命令中的free值基本一致,所以它不包括buffer和cache的空间.
      kbmemused:这个值和free命令中的used值基本一致,所以它包括buffer和cache的空间.
      %memused:这个值是kbmemused和内存总量(不包括swap)的一个百分比.
      kbbuffers和kbcached:这两个值就是free命令中的buffer和cache.
      kbcommit:当前工作负载所需的内存量(以KB为单位),即为了确保不溢出而需要的内存(RAM+swap).
      %commit:这个值是kbcommit与内存总量(包括swap)的一个百分比.

      内存分页监控

      sar -B

      

      pgpgin/s:表示每秒从磁盘或SWAP置换到内存的字节数(KB)
      pgpgout/s:表示每秒从内存置换到磁盘或SWAP的字节数(KB)
      fault/s:每秒钟系统产生的缺页数,即主缺页与次缺页之和(major + minor)
      majflt/s:每秒钟产生的主缺页数.
      pgfree/s:每秒被放入空闲队列中的页个数
      pgscank/s:每秒被kswapd扫描的页个数
      pgscand/s:每秒直接被扫描的页个数
      pgsteal/s:每秒钟从cache中被清除来满足内存需要的页个数
      %vmeff:每秒清除的页(pgsteal)占总扫描页(pgscank+pgscand)的百分比

      i/o 传输速率监控

      sar -b

        

      tps:每秒钟物理设备的 I/O 传输总量
      rtps:每秒钟从物理设备读入的数据总量
      wtps:每秒钟向物理设备写入的数据总量
      bread/s:每秒钟从物理设备读入的数据量,单位为 块/s
      bwrtn/s:每秒钟向物理设备写入的数据量,单位为 块/s

      进程队列长度和平均负载状态监控

      sar -q

     

      runq-sz:运行队列的长度(等待运行的进程数)
      plist-sz:进程列表中进程(processes)和线程(threads)的数量
      ldavg-1:最后1分钟的系统平均负载(System load average)
      ldavg-5:过去5分钟的系统平均负载
      ldavg-15:过去15分钟的系统平均负载

      系统交换活动信息监控

      sar -W

        

      pswpin/s:每秒系统换入的交换页面(swap page)数量
      pswpout/s:每秒系统换出的交换页面(swap page)数量

      设备使用情况监控

      sar -d

      

      tps:每秒从物理磁盘I/O的次数.多个逻辑请求会被合并为一个I/O磁盘请求,一次传输的大小是不确定的
      rd_sec/s:每秒读扇区的次数
      wr_sec/s:每秒写扇区的次数
      avgrq-sz:平均每次设备I/O操作的数据大小(扇区)
      avgqu-sz:磁盘请求队列的平均长度
      await:从请求磁盘操作到系统完成处理,每次请求的平均消耗时间,包括请求队列等待时间,单位是毫秒(1秒=1000毫秒)
      svctm:系统处理每次请求的平均时间,不包括在请求队列中消耗的时间
      %util:I/O请求占CPU的百分比,比率越大,说明越饱和

      sar分析网络流量

      sar -n DEV

      

      sar 提供六种不同的语法选项来显示网络信息。-n选项使用6个不同的开关:DEV | EDEV | NFS | NFSD | SOCK | ALL 。DEV显示网络接口信息,EDEV显示关于网络错误的统计数据,NFS统计活动的NFS客户端的信息,NFSD统计NFS服务器的信息,SOCK显示套接字信息,ALL显示所有5个开关。它们可以单独或者一起使用。

      IFACE:LAN接口,网络设备的名称
      rxpck/s:每秒钟接收的数据包
      txpck/s:每秒钟发送的数据包
      rxbyt/s:每秒钟接收的字节数
      txbyt/s:每秒钟发送的字节数
      rxcmp/s:每秒钟接收的压缩数据包
      txcmp/s:每秒钟发送的压缩数据包
      rxmcst/s:每秒钟接收的多播数据包

      sar -n EDEV

      

      IFACE:LAN接口网络设备的名称
      rxerr/s:每秒钟接收的坏数据包 
      txerr/s:每秒钟发送的坏数据包
      coll/s:每秒冲突数
      rxdrop/s:因为缓冲充满,每秒钟丢弃的已接收数据包数
      txdrop/s:因为缓冲充满,每秒钟丢弃的已发送数据包数
      txcarr/s:发送数据包时,每秒载波错误数
      rxfram/s:每秒接收数据包的帧对齐错误数
      rxfifo/s:接收的数据包每秒FIFO过速的错误数
      txfifo/s:发送的数据包每秒FIFO过速的错误数

    要判断系统瓶颈问题,有时需几个 sar 命令选项结合起来:
       怀疑CPU存在瓶颈,可用 sar -u 和 sar -q 等来查看
       怀疑内存存在瓶颈,可用 sar -B、sar -r 和 sar -W 等来查看
       怀疑I/O存在瓶颈,可用 sar -b、sar -u 和 sar -d 等来查看

    赠人玫瑰,手有余香,如果我的文章有幸能够帮到你,麻烦帮忙点下右下角的推荐,谢谢!

    作者: imcati

    出处: https://www.cnblogs.com/imcati/>

    本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 原文链接

  • 相关阅读:
    js获取下拉框的值
    根据SNP的位置从基因组提取上下游序列
    PCA分析的疑问
    os删除文件或者文件夹
    python scipy包进行GO富集分析p值计算
    生物信息等级的划分
    docker笔记
    GATK4注意事项
    centos7修改yum源为阿里镜像
    idea如何通过数据库生成实体类
  • 原文地址:https://www.cnblogs.com/imcati/p/11523594.html
Copyright © 2011-2022 走看看