Linux性能测试分析命令_sar

时间:2023-03-09 18:22:25
Linux性能测试分析命令_sar

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
Linux 3.10.-514.26..el7.x86_64 (VM_17_110_centos) 2017年10月22日 _x86_64_ ( CPU) 10时43分18秒 CPU %user %nice %system %iowait %steal %idle
10时43分20秒 all 0.63 0.00 0.38 0.00 0.00 99.00
10时43分22秒 all 0.88 0.00 0.63 0.88 0.00 97.62
10时43分24秒 all 0.75 0.00 0.25 0.00 0.00 99.00
平均时间: all 0.75 0.00 0.42 0.29 0.00 98.54

输出说明:

%user: 用户态下CPU使用时间比率
%system: 内核态下CPU使用时间比率
%iowait: CPU等待I/O占用时间比率
%idle: CPU空闲时间比率

2、各磁盘IO使用情况统计(sar -d -p 1 2)。

$ sar -d -p
Linux 3.10.-514.26..el7.x86_64 (VM_17_110_centos) 2017年10月22日 _x86_64_ ( CPU) 10时45分52秒 DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
10时45分53秒 vda 2.00 0.00 24.00 12.00 0.03 13.00 6.50 1.30
10时45分53秒 vdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
10时45分53秒 vdc 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 10时45分53秒 DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
10时45分54秒 vda 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
10时45分54秒 vdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
10时45分54秒 vdc 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 平均时间: DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
平均时间: vda 1.00 0.00 12.00 12.00 0.01 13.00 6.50 0.65
平均时间: vdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
平均时间: vdc 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.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
Linux 3.10.-514.26..el7.x86_64 (VM_17_110_centos) 2017年10月22日 _x86_64_ ( CPU) 10时46分51秒 kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit kbactive kbinact kbdirty
10时46分52秒 98.17 73.32
10时46分53秒 98.17 73.32
平均时间: 98.17 73.32

输出说明

kbmemfree 空闲物理内存
kbmemused 已使用物理内存
%memused 已使用内存占总内存百分比
kbbuffers Buffer Cache大小
kbcached Page Cache大小
kbcommit 应用程序当前使用内存大小
%commit 应用程序使用内存百分比

4、网卡流量使用情况统计(sar -n DEV 1 2)

$ sar -n DEV
Linux 3.10.-514.26..el7.x86_64 (VM_17_110_centos) 2017年10月22日 _x86_64_ ( CPU) 10时47分51秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
10时47分52秒 eth0 42.00 39.00 13.06 11.54 0.00 0.00 0.00
10时47分52秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 10时47分52秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
10时47分53秒 eth0 17.00 20.00 4.90 7.58 0.00 0.00 0.00
10时47分53秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00 平均时间: IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
平均时间: eth0 29.50 29.50 8.98 9.56 0.00 0.00 0.00
平均时间: lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00

输出说明

IFACE: 网络接口名称
rxpck/s: 每秒收包的数量
txpck/s: 每秒发包的数量
rxkB/s: 每秒收的数据量(kB为单位)
txkB/s: 每秒发的数据量(kB为单位)
rxcmp/s:每秒钟接收的压缩数据包
txcmp/s:每秒钟发送的压缩数据包
rxmcst/s:每秒钟接收的多播数据包

参考资料

1、使用sar进行性能分析