zoukankan      html  css  js  c++  java
  • sar-系统负载监控

    概述

    sar命令 是Linux下系统运行状态统计工具,它将指定的操作系统状态计数器显示到标准输出设备。sar工具将对系统当前的状态进行取样,然后通过计算数据和比例来表达系统的当前运行状态。它的特点是可以连续对系统取样,获得大量的取样数据。取样数据和分析的结果都可以存入文件,使用它时消耗的系统资源很小。

    使用方法

    语法

    sar (选项) (参数)
    

    选项

    -A:显示所有的报告信息;
    -b:显示I/O速率;
    -B:显示换页状态;
    -c:显示进程创建活动;
    -d:显示每个块设备的状态;
    -e:设置显示报告的结束时间;
    -f:从指定文件提取报告;
    -i:设状态信息刷新的间隔时间;
    -P:报告每个CPU的状态;
    -q:查看每个CPU的平均负载;
    -r:显示内存状态;
    -u:显示CPU利用率;
    -v:显示索引节点,文件和其他内核表的状态;
    -w:显示交换分区状态;
    -x:显示给定进程的状态。
    

    参数

    • 间隔时间:每次报告的间隔时间(秒);
    • 次数:显示报告的次数。

    示例

    1: 显示I/O速率

    # 每秒显示一次
    sar -b 1
    
    • tps: 磁盘每秒钟的IO总数,等于iostat中的tps
    • rtps: 每秒钟从磁盘读取的IO总数
    • wtps: 每秒钟从写入到磁盘的IO总数
    • bread/s: 每秒钟从磁盘读取的块总数
    • bwrtn/s: 每秒钟此写入到磁盘的块总数

    2: 磁盘使用详情统计

    sar -d
    
    • 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越慢

    3: 统计CPU的使用情况

    sar -u
    
    • %user:用户态的CPU使用比分比
    • %nice:更改过优先级的进程的CPU使用百分比
    • %system:系统进程消耗的CPU百分比
    • %iowait:CPU等待IO数据的百分比
    • %steal:虚拟机的vCPU占用的物理CPU的百分比
    • %idle:空闲的CPU百分比

    4: 查看内存使用情况

    sar -r
    
    • kbmemfree:空闲的物理内存大小
    • kbmemused:使用中的物理内存大小
    • %memused:物理内存使用率
    • kbbuffers:内核中作为缓冲区使用的物理内存大小,kbbuffers和kbcached:这两个值就是free命令中的buffer和cache.
    • kbcached:缓存的文件大小
    • kbcommit:保证当前系统正常运行所需要的最小内存,即为了确保内存不溢出而需要的最少内存(物理内存+Swap分区)
    • commit:这个值是kbcommit与内存总量(物理内存+swap分区)的一个百分比的值

    5: 统计网络信息

    sar -n 选项使用6个不同的开关:DEV,EDEV,NFS,NFSD,SOCK,IP,EIP,ICMP,EICMP,TCP,ETCP,UDP,SOCK6,IP6,EIP6,ICMP6,EICMP6和UDP6,DEV显示网络接口信息,EDEV显示关于网络错误的统计数据,NFS统计活动的NFS客户端的信息,NFSD统计NFS服务器的信息,SOCK显示套接字信息,ALL显示所有5个开关。它们可以单独或者一起使用。

    5.1: 统计网络信息

    sar -n DEV
    

    下面的average是在多次统计后的平均值。

    • IFACE:本地网卡接口的名称
    • rxpck/s:每秒钟接受的数据包
    • txpck/s:每秒钟发送的数据库
    • rxKB/S:每秒钟接受的数据包大小,单位为KB
    • txKB/S:每秒钟发送的数据包大小,单位为KB
    • rxcmp/s:每秒钟接受的压缩数据包
    • txcmp/s:每秒钟发送的压缩包
    • rxmcst/s:每秒钟接收的多播数据包

    5.2: 统计网络设备通信失败信息

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

    5.3: 统计socket连接信息

    sar -n SOCK
    
    • totsck:当前被使用的socket总数
    • tcpsck:当前正在被使用的TCP的socket总数
    • udpsck:当前正在被使用的UDP的socket总数
    • rawsck:当前正在被使用于RAW的skcket总数
    • if-frag:当前的IP分片的数目
    • tcp-tw:TCP套接字中处于TIME-WAIT状态的连接数量

    如果你使用FULL关键字,相当于上述DEV、EDEV和SOCK三者的综合

    5.4: TCP连接的统计

    sar -n TCP
    
    • active/s:新的主动连接
    • passive/s:新的被动连接
    • iseg/s:接受的段
    • oseg/s:输出的段

    5.5: sar -n 使用总结

    • -n DEV: 网络接口统计信息
    • -n EDEV: 网络接口错误
    • -n IP: IP数据报统计信息
    • -n EIP: IP错误统计信息
    • -n TCP: TCP统计信息
    • -n ETCP: TCP错误统计信息
    • -n SOCK: 套接字使用

    6: 常用命令总结

    默认监控: sar 5 5: CPU和IOWAIT统计状态

    1. sar -b 5 5: IO传送速率
    2. sar -B 5 5: 页交换速率
    3. sar -c 5 5: 进程创建的速率
    4. sar -d 5 5: 块设备的活跃信息
    5. sar -n DEV 5 5: 网路设备的状态信息
    6. sar -n SOCK 5 5: SOCK的使用情况
    7. sar -n ALL 5 5: 所有的网络状态信息
    8. sar -P ALL 5 5: 每颗CPU的使用状态信息和IOWAIT统计状态
    9. sar -q 5 5: 队列的长度(等待运行的进程数)和负载的状态
    10. sar -r 5 5: 内存和swap空间使用情况
    11. sar -R 5 5: 内存的统计信息(内存页的分配和释放、系统每秒作为BUFFER使用内存页、每秒被cache到的内存页)
    12. sar -u 5 5: CPU的使用情况和IOWAIT信息(同默认监控)
    13. sar -v 5 5: inode, file and other kernel tablesd的状态信息
    14. sar -w 5 5: 每秒上下文交换的数目
    15. sar -W 5 5: SWAP交换的统计信息(监控状态同iostat 的si so)
    16. sar -x 2906 5 5: 显示指定进程(2906)的统计信息,信息包括:进程造成的错误、用户级和系统级用户CPU的占用情况、运行在哪颗CPU上
    17. sar -y 5 5: TTY设备的活动状态
    18. 将输出到文件(-o)和读取记录信息(-f)
  • 相关阅读:
    C#设计模式(23)——备忘录模式(Memento Pattern)
    C#设计模式(22)——访问者模式(Vistor Pattern)
    C#设计模式(21)——责任链模式
    C#设计模式(20)——策略者模式(Stragety Pattern)
    C#设计模式(19)——状态者模式(State Pattern)
    C#设计模式(18)——中介者模式(Mediator Pattern)
    C#设计模式(17)——观察者模式(Observer Pattern)
    C#设计模式(16)——迭代器模式(Iterator Pattern)
    C#设计模式(15)——命令模式(Command Pattern)
    [转发]UML类图符号 各种关系说明以及举例
  • 原文地址:https://www.cnblogs.com/wuqinglong/p/12123113.html
Copyright © 2011-2022 走看看