zoukankan      html  css  js  c++  java
  • Linux sar 性能监控命令

    Linux sar 性能监控命令

    语法:

    sar [ 选项 ] [ <时间间隔> [ <次数> ] ]

    # sar -h

    Usage: sar [ options ] [ <interval> [ <count> ] ]
    Main options and reports:
        -b    I/O and transfer rate statistics           # I/O 和传输速率信息状况
        -B    Paging statistics                          # 分页状况
        -d    Block device statistics                    # 块设备状况
        -F [ MOUNT ]
            Filesystems statistics
        -H    Hugepages utilization statistics           # 交换空间利用率
        -I { <int> | SUM | ALL | XALL }                
            Interrupts statistics                        # 中断信息状况
        -m { <keyword> [,...] | ALL }
            Power management statistics                  # 电源统计信息
            Keywords are:
            CPU    CPU instantaneous clock frequency     # CPU 频率
            FAN    Fans speed                            # 风扇 速率
            FREQ    CPU average clock frequency
            IN    Voltage inputs                         # 输入电压
            TEMP    Devices temperature                  # 设备温度
            USB    USB devices plugged into the system   # USB 设备
        -n { <keyword> [,...] | ALL }
            Network statistics                           # 网络统计信息
            Keywords are:
            DEV    Network interfaces                     # 网卡
            EDEV    Network interfaces (errors)          # 网卡(错误)
            NFS    NFS client                             # NFS客户端
            NFSD    NFS server                         # NFS服务器
            SOCK    Sockets    (v4)                       # SOCKets 套接字(v4)
            IP    IP traffic    (v4)                       # IP流(v4)
            EIP    IP traffic    (v4) (errors)              # IP流(v4)(错误)
            ICMP    ICMP traffic    (v4)               # ICMP流(v4)
            EICMP    ICMP traffic    (v4) (errors)      # ICMP流(v4)(错误)
            TCP    TCP traffic    (v4)                       # TCP 流 (v4)
            ETCP    TCP traffic    (v4) (errors)          # TCP 流 (v4)(错误)
            UDP    UDP traffic    (v4)                       # UDP流(v4)
            SOCK6    Sockets    (v6)                       # SOCKets 套接字(v6)
            IP6    IP traffic    (v6)                       # IP流(v6)
            EIP6    IP traffic    (v6) (errors)          # IP流(v6)(错误)
            ICMP6    ICMP traffic    (v6)               # ICMP流(v6)
            EICMP6    ICMP traffic    (v6) (errors)      # ICMP流(v6)(错误)
            UDP6    UDP traffic    (v6)                   # UDP流(v6)
        -q    Queue length and load average statistics   # 队列长度和平均负载
        -r    Memory utilization statistics              # 内存利用率
        -R    Memory statistics                          # 内存状况
        -S    Swap space utilization statistics          # 交换空间利用率
        -u [ ALL ]                                     
            CPU utilization statistics                   # CPU利用率
        -v    Kernel table statistics                    # Kernel table状况
        -w    Task creation and system switching statistics # 任务创建和系统转换统计信息
        -W    Swapping statistics                        # 交换信息
        -y    TTY device statistics                      # TTY设备状况
     

    1、查看CPU使用情况:sar -u

     
    # sar 1 3  或 sar -u 1 3
    02:23:08 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
    02:23:09 PM     all      0.06      0.00      0.25      0.00      0.00     99.69
    02:23:10 PM     all      0.06      0.00      0.25      0.00      0.00     99.69
    02:23:11 PM     all      0.12      0.00      0.12      0.00      0.00     99.75
    Average:        all      0.08      0.00      0.21      0.00      0.00     99.71
    
    %user   用户空间的CPU使用
    
    %nice   改变过优先级的进程的CPU使用率
    
    %system 内核空间的CPU使用率
    
    %iowait CPU等待IO的百分比
    
    %steal  虚拟机的虚拟机CPU使用的CPU
    
    %idle   空闲的CPU
    
    在以上的显示当中,主要看%iowait和%idle,%iowait过高表示存在I/O瓶颈,即磁盘IO无法满足业务需求,如果%idle过低表示CPU使用率比较严重,需要结合内存使用等情况判断CPU是否瓶颈。
     

    2、将统计结果保存到文件 sar -o  &  sar -f

    # sar -o test 1 3   #保存
    # sar -f test       #查看

    3、查看平均负载  sar -q

     
    # sar -q 1 3
    02:26:21 PM   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked
    02:26:22 PM         1       770      0.04      0.05      0.00         0
    02:26:23 PM         0       770      0.04      0.05      0.00         0
    02:26:24 PM         0       770      0.04      0.05      0.00         0
    Average:            0       770      0.04      0.05      0.00         0
    
    runq-sz    运行队列的长度(等待运行的进程数,每核的CP不能超过3个)
    
    plist-sz   进程列表中的进程(processes)和线程数(threads)的数量
    
    ldavg-1  最后1分钟的CPU平均负载,即将多核CPU过去一分钟的负载相加再除以核心数得出的平均值,5分钟和15分钟以此类推
    
    ldavg-5   最后5分钟的CPU平均负载
    
    ldavg-15  最后15分钟的CPU平均负载
     

    4、查看内存使用情况  sar -r

    # sar -r 1 3
    02:27:46 PM kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit  kbactive   kbinact   kbdirty
    02:27:47 PM  26480272   6249176     19.09         0    337228  10898528     33.30   5397912    207104        48
    02:27:48 PM  26488904   6240544     19.07         0    337228  10637100     32.50   5386964    207104        48
    02:27:49 PM  26492992   6236456     19.05         0    337216  10634380     32.49   5385340    207076        52
    Average:     26487389   6242059     19.07         0    337224  10723336     32.76   5390072    207095        49
    
    kbmemfree   空闲的物理内存大小
    
    kbmemused   使用中的物理内存大小
    
    %memused    物理内存使用率
    
    kbbuffers   内核中作为缓冲区使用的物理内存大小,kbbuffers和kbcached:这两个值就是free命令中的buffer和cache. 
    
    kbcached    缓存的文件大小
    
    kbcommit    保证当前系统正常运行所需要的最小内存,即为了确保内存不溢出而需要的最少内存(物理内存+Swap分区)
    
    commit      这个值是kbcommit与内存总量(物理内存+swap分区)的一个百分比的值
     

    5、查看系统swap分区统计情况  sar -W

     
    # sar -W 1 3
    02:29:43 PM  pswpin/s pswpout/s
    02:29:44 PM      0.00      0.00
    02:29:45 PM      0.00      0.00
    02:29:46 PM      0.00      0.00
    Average:         0.00      0.00
    
    pswpin/s    每秒从交换分区到系统的交换页面(swap page)数量
    
    pswpott/s   每秒从系统交换到swap的交换页面(swap page)的数量
     

    6、查看IO和传递速率  sar -b

     
    # sar -b 1 3
    02:30:36 PM       tps      rtps      wtps   bread/s   bwrtn/s
    02:30:37 PM      0.00      0.00      0.00      0.00      0.00
    02:30:38 PM      0.00      0.00      0.00      0.00      0.00
    02:30:39 PM      1.00      0.00      1.00      0.00      8.00
    Average:         0.33      0.00      0.33      0.00      2.67
    tps      磁盘每秒钟的IO总数,等于iostat中的tps
    
    rtps     每秒钟从磁盘读取的IO总数
    
    wtps     每秒钟从写入到磁盘的IO总数
    
    bread/s  每秒钟从磁盘读取的块总数
    
    bwrtn/s  每秒钟此写入到磁盘的块总数
     

    7、查看磁盘使用情况  sar -d

     
    # sar -d
    12:00:01 AM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
    12:10:01 AM  dev253-0      0.41      0.00      5.56     13.67      0.00      0.38      0.68      0.03
    12:10:01 AM dev253-16      0.98      0.00     23.33     23.89      0.00      0.16      0.32      0.03
    12:20:01 AM  dev253-0      0.39      0.00      5.12     13.07      0.00      0.22      0.67      0.03
    12:20:01 AM dev253-16      0.99      0.00     21.27     21.42      0.00      0.12      0.34      0.03
    12:30:01 AM  dev253-0      0.41      0.00      5.38     13.24      0.00      0.27      0.72      0.03
    12:30:01 AM dev253-16      1.01      0.00     20.20     19.90      0.00      0.12      0.34      0.03
    12:40:01 AM  dev253-0      0.42      0.00      5.58     13.40      0.00      0.28      0.66      0.03
    12:40:01 AM dev253-16      1.03      0.00     23.65     23.04      0.00      0.15      0.30      0.03
    12:50:01 AM  dev253-0      0.42      0.00      5.85     14.05      0.00      0.30      0.65      0.03
    12:50:01 AM dev253-16      0.95      0.00     20.20     21.34      0.00      0.12      0.34      0.03
    01:00:01 AM  dev253-0      0.39      0.00      9.89     25.68      0.00      0.32      0.72      0.03
    01:00:01 AM dev253-16      0.99      0.00     22.57     22.84      0.00      0.17      0.32      0.03
    01:10:01 AM  dev253-0      0.35      0.00      4.65     13.22      0.00      0.19      0.74      0.03
    01:10:01 AM dev253-16      0.97      0.00     20.15     20.88      0.00      0.14      0.34      0.03
    01:20:01 AM  dev253-0      0.37      0.00      4.98     13.58      0.00      0.25      0.72      0.03
    01:20:01 AM dev253-16      1.10      0.00     29.05     26.49      0.00      0.18      0.31      0.03
    01:30:01 AM  dev253-0      0.38      0.00      5.17     13.66      0.00      0.27      0.76      0.03
    01:30:01 AM dev253-16      0.87      0.00     14.33     16.44      0.00      0.14      0.37      0.03
    01:40:01 AM  dev253-0      0.39      0.00      5.29     13.63      0.00      0.23      0.73      0.03
    01:40:01 AM dev253-16      1.17      0.00     29.09     24.87      0.00      0.16      0.30      0.04
    
    DEV  磁盘设备的名称,如果不加-p,会显示dev253-0类似的设备名称,因此加上-p显示的名称更直接
    
    tps  每秒I/O的传输总数
    
    rd_sec/s  每秒读取的扇区的总数
    
    wr_sec/s  每秒写入的扇区的总数
    
    avgrq-sz  平均每次次磁盘I/O操作的数据大小(扇区)
    
    avgqu-sz  磁盘请求队列的平均长度
    
    await  从请求磁盘操作到系统完成处理,每次请求的平均消耗时间,包括请求队列等待时间,单位是毫秒(1秒等于1000毫秒),等于寻道时间+队列时间+服务时间
    
    svctm  I/O的服务处理时间,即不包括请求队列中的时间
    
    %util  I/O请求占用的CPU百分比,值越高,说明I/O越慢
     

    8、统计网络信息 sar -n 

     
    -n { <关键词> [,...] | ALL }
            关键词可以是:
            DEV    网卡
            EDEV    网卡 (错误)
            NFS    NFS 客户端
            NFSD    NFS 服务器
            SOCK    Sockets (套接字)    (v4)
            IP    IP 流    (v4)
            EIP    IP 流    (v4) (错误)
            ICMP    ICMP 流    (v4)
            EICMP    ICMP 流    (v4) (错误)
            TCP    TCP 流    (v4)
            ETCP    TCP 流    (v4) (错误)
            UDP    UDP 流    (v4)
            SOCK6    Sockets (套接字)    (v6)
            IP6    IP 流    (v6)
            EIP6    IP 流    (v6) (错误)
            ICMP6    ICMP 流    (v6)
            EICMP6    ICMP 流    (v6) (错误)
            UDP6    UDP 流    (v6)
     

    9、网络接口信息 sar -n DEV

     
    # sar -n DEV 1 1
    02:34:57 PM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
    02:34:58 PM      eth1      0.00      0.00      0.00      0.00      0.00      0.00      0.00
    02:34:58 PM      eth0     35.00     50.00      4.12      7.56      0.00      0.00      0.00
    02:34:58 PM      eth2     35.00     50.00      4.12      7.56      0.00      0.00      0.00
    02:34:58 PM        lo     30.00     30.00      2.60      2.60      0.00      0.00      0.00
    IFACE  本地网卡接口的名称
    
    rxpck/s  每秒钟接受的数据包
    
    txpck/s  每秒钟发送的数据库
    
    rxKB/S   每秒钟接受的数据包大小,单位为KB
    
    txKB/S   每秒钟发送的数据包大小,单位为KB
    
    rxcmp/s  每秒钟接受的压缩数据包
    
    txcmp/s  每秒钟发送的压缩包
    
    rxmcst/s  每秒钟接收的多播数据包    
     

    10、网络设备通信失败信息 sar -n EDVE

     
    # sar -n EDEV 1 1
    02:35:46 PM     IFACE   rxerr/s   txerr/s    coll/s  rxdrop/s  txdrop/s  txcarr/s  rxfram/s  rxfifo/s  txfifo/s
    02:35:47 PM      eth1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
    02:35:47 PM      eth0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
    02:35:47 PM      eth2      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
    02:35:47 PM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
    
    IFACE 网卡名称
    
    rxerr/s  每秒钟接收到的损坏的数据包
    
    txerr/s  每秒钟发送的数据包错误数
    
    coll/s  当发送数据包时候,每秒钟发生的冲撞(collisions)数,这个是在半双工模式下才有
    
    rxdrop/s  当由于缓冲区满的时候,网卡设备接收端每秒钟丢掉的网络包的数目
    
    txdrop/s 当由于缓冲区满的时候,网络设备发送端每秒钟丢掉的网络包的数目
    
    txcarr/s  当发送数据包的时候,每秒钟载波错误发生的次数
    
    rxfram/s   在接收数据包的时候,每秒钟发生的帧对其错误的次数
    
    rxfifo/s    在接收数据包的时候,每秒钟缓冲区溢出的错误发生的次数
    
    txfifo/s    在发生数据包 的时候,每秒钟缓冲区溢出的错误发生的次数
     

    11、统计socket连接信息  sar -n SOCK

     
    # sar -n SOCK 1 1
    02:36:26 PM    totsck    tcpsck    udpsck    rawsck   ip-frag    tcp-tw
    02:36:27 PM       248        27         4         0         0         5
    Average:          248        27         4         0         0         5
    
    totsck  当前被使用的socket总数
    
    tcpsck  当前正在被使用的TCP的socket总数
    
    udpsck   当前正在被使用的UDP的socket总数
    
    rawsck  当前正在被使用于RAW的skcket总数
    
    if-frag   当前的IP分片的数目
    
    tcp-tw  TCP套接字中处于TIME-WAIT状态的连接数量
    复制代码

    12、TCP连接的统计  sar -n TCP 

     
    # sar -n TCP 1 1
    02:36:56 PM  active/s passive/s    iseg/s    oseg/s
    02:36:57 PM      1.00      0.00     74.00     88.00
    Average:         1.00      0.00     74.00     88.00
    
    active/s  新的主动连接
    
    passive/s  新的被动连接
    
    iseg/s  接受的段
    
    oseg/s  输出的段
     

    总结:

     
    默认监控: sar 1 1      //  CPU和IOWAIT统计状态 
    (1) sar -b 1 1        // IO传送速率
    (2) sar -B 1 1        // 页交换速率
    (3) sar -c 1 1        // 进程创建的速率
    (4) sar -d 1 1        // 块设备的活跃信息
    (5) sar -n DEV 1 1    // 网路设备的状态信息
    (6) sar -n SOCK 1 1   // SOCK的使用情况
    (7) sar -n ALL 1 1    // 所有的网络状态信息
    (8) sar -P ALL 1 1    // 每颗CPU的使用状态信息和IOWAIT统计状态 
    (9) sar -q 1 1        // 队列的长度(等待运行的进程数)和负载的状态
    (10) sar -r 1 1       // 内存和swap空间使用情况
    (11) sar -R 1 1       // 内存的统计信息(内存页的分配和释放、系统每秒作为BUFFER使用内存页、每秒被cache到的内存页)
    (12) sar -u 1 1       // CPU的使用情况和IOWAIT信息(同默认监控)
    (13) sar -v 1 1       // inode, file and other kernel tablesd的状态信息
    (14) sar -w 1 1       // 每秒上下文交换的数目
    (15) sar -W 1 1       // SWAP交换的统计信息(监控状态同iostat 的si so)
    (16) sar -x 2906 1 1  // 显示指定进程(2906)的统计信息,信息包括:进程造成的错误、用户级和系统级用户CPU的占用情况、运行在哪颗CPU上
    (17) sar -y 1 1       // TTY设备的活动状态
    (18) 将输出到文件(-o)和读取记录信息(-f)
     

    参考:https://blog.csdn.net/liyongbing1122/article/details/89517282

  • 相关阅读:
    bzoj3505[CQOI2014]数三角形
    COGS103&tyvj1899 [NOIP2002]矩形覆盖
    bzoj4318OSU &tyvj1952 Easy
    tyvj1863[Poetize I]黑魔法师之门
    hook框架frida某个类下的所有方法名字模板
    逆向so文件调试工具ida基础知识点
    linux上安装mitmproxy
    linux配置SOCK5代理
    hook框架frida 绕过fillder证书认证
    LeetCode 455. 分发饼干
  • 原文地址:https://www.cnblogs.com/shujuyr/p/14811882.html
Copyright © 2011-2022 走看看