sar主要用于收集并统计系统资源的信息,包括CPU、IO、内存、网卡流量等。
sar语法
用法:sar [ 选项 ] [ <时间间隔> [ <次数> ] ]
常用选项说明:
-u 输出整体CPU的使用情况,默认值。 -d 显示各个磁盘的统计信息-p 以sdX的形式显示设备名称,不带该参数,设备显示是dev2-8、dev2-9等,不易识别。-b 显示磁盘I/O的使用情况:-r 显示内存统计信息-P ALL 显示每个内核统计信息:-n 显示网络使用情况,-n后接关键词”DEV”可显示eth0、eth1等网卡的信息:-o sar输出信息保存到指定的文件
说明:更多选项说明可使用man sar查看
常用实例
1、cpu整体使用情况统计(sar 2 3 /sar -u 2 3)
$ sar 2 3Linux 3.10.0-514.26.2.el7.x86_64 (VM_17_110_centos)10月22日 _x86_64_ (4 CPU)10时43分18秒CPU%user%nice %system %iowait %steal%idle10时43分20秒all0.630.000.380.000.0099.0010时43分22秒all0.880.000.630.880.0097.6210时43分24秒all0.750.000.250.000.0099.00平均时间:all0.750.000.420.290.0098.54
输出说明:
%user: 用户态下CPU使用时间比率%system: 内核态下CPU使用时间比率%iowait: CPU等待I/O占用时间比率%idle: CPU空闲时间比率
2、各磁盘IO使用情况统计(sar -d -p 1 2)。
$ sar -d -p 1 2Linux 3.10.0-514.26.2.el7.x86_64 (VM_17_110_centos)10月22日 _x86_64_ (4 CPU)10时45分52秒 DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-szawaitsvctm%util10时45分53秒 vda2.000.0024.0012.000.0313.006.501.3010时45分53秒 vdb0.000.000.000.000.000.000.000.0010时45分53秒 vdc0.000.000.000.000.000.000.000.0010时45分53秒 DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-szawaitsvctm%util10时45分54秒 vda0.000.000.000.000.000.000.000.0010时45分54秒 vdb0.000.000.000.000.000.000.000.0010时45分54秒 vdc0.000.000.000.000.000.000.000.00平均时间: DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-szawaitsvctm%util平均时间: vda1.000.0012.0012.000.0113.006.500.65平均时间: vdb0.000.000.000.000.000.000.000.00平均时间: vdc0.000.000.000.000.000.000.000.00
输出说明:
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的百分比,比率越大,说明越饱和.
3、内存使用情况统计(sar -r 1 2 )
$ sar -r 1 2Linux 3.10.0-514.26.2.el7.x86_64 (VM_17_110_centos)10月22日 _x86_64_ (4 CPU)10时46分51秒 kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty10时46分52秒 146952 786357698.17 1083660 3756208 587350473.32 4508740 2539472 12810时46分53秒 146952 786357698.17 1083660 3756212 587350473.32 4508752 2539468 128平均时间: 146952 786357698.17 1083660 3756210 587350473.32 4508746 2539470 128
输出说明
kbmemfree 空闲物理内存kbmemused 已使用物理内存%memused 已使用内存占总内存百分比kbbuffers Buffer Cache大小kbcached Page Cache大小kbcommit 应用程序当前使用内存大小%commit 应用程序使用内存百分比
4、网卡流量使用情况统计(sar -n DEV 1 2)
$ sar -n DEV 1 2Linux 3.10.0-514.26.2.el7.x86_64 (VM_17_110_centos)10月22日 _x86_64_ (4 CPU)10时47分51秒IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s10时47分52秒eth042.0039.0013.0611.540.000.000.0010时47分52秒 lo0.000.000.000.000.000.000.0010时47分52秒IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s10时47分53秒eth017.0020.004.907.580.000.000.0010时47分53秒 lo0.000.000.000.000.000.000.00平均时间:IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s平均时间:eth029.5029.508.989.560.000.000.00平均时间: lo0.000.000.000.000.000.000.00
输出说明
IFACE: 网络接口名称rxpck/s: 每秒收包的数量txpck/s: 每秒发包的数量rxkB/s: 每秒收的数据量(kB为单位)txkB/s: 每秒发的数据量(kB为单位)rxcmp/s:每秒钟接收的压缩数据包txcmp/s:每秒钟发送的压缩数据包rxmcst/s:每秒钟接收的多播数据包
参考资料
1、使用sar进行性能分析
如果觉得《Linux性能测试分析命令_sar》对你有帮助,请点赞、收藏,并留下你的观点哦!