https://zhuanlan.zhihu.com/p/554619823
sar -b[ <时间间隔> [ <次数> ] ]
示例:
sar -b 1 3
Linux 2.6.32-696.13.2.el6.x86_64 (upfor163) 2018年04月25日 _x86_64_ (2 CPU)
10时58分15秒 tps rtps wtps bread/s bwrtn/s
10时58分16秒 7.00 0.00 7.00 0.00 64.00
10时58分17秒 4.04 0.00 4.04 0.00 80.81
10时58分18秒 0.00 0.00 0.00 0.00 0.00
平均时间: 3.67 0.00 3.67 0.00 48.00
输出项说明:
tps:每秒钟物理设备的 I/O 传输总量
rtps:每秒钟从物理设备读入的数据总量
wtps:每秒钟向物理设备写入的数据总量
bread/s:每秒钟从物理设备读入的数据量,单位为:块/s
bwrtn/s:每秒钟向物理设备写入的数据量,单位为:块/s
sar -q [ <时间间隔> [ <次数> ] ]
示例:
sar -q 1 3
Linux 2.6.32-696.13.2.el6.x86_64 (upfor163) 2018年04月25日 _x86_64_ (2 CPU)
11时00分35秒 runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15
11时00分36秒 0 268 0.00 0.00 0.00
11时00分37秒 0 268 0.00 0.00 0.00
11时00分38秒 0 268 0.00 0.00 0.00
平均时间: 0 268 0.00 0.00 0.00
输出项说明:
runq-sz:运行队列的长度(等待运行的进程数)
plist-sz:进程列表中进程(processes)和线程(threads)的数量
ldavg-1:最后1分钟的系统平均负载(System load average)
ldavg-5:过去5分钟的系统平均负载
ldavg-15:过去15分钟的系统平均负载
sar -W [ <时间间隔> [ <次数> ] ]
示例:
sar -W 1 3
Linux 2.6.32-696.13.2.el6.x86_64 (upfor163) 2018年04月25日 _x86_64_ (2 CPU)
11时01分45秒 pswpin/s pswpout/s
11时01分46秒 0.00 0.00
11时01分47秒 0.00 0.00
11时01分48秒 0.00 0.00
平均时间: 0.00 0.00
输出项说明:
pswpin/s:每秒系统换入的交换页面(swap page)数量
pswpout/s:每秒系统换出的交换页面(swap page)数量
sar -d[ <时间间隔> [ <次数> ] ]
示例:
sar -d 1 3
Linux 2.6.32-696.13.2.el6.x86_64 (upfor163) 2018年04月25日 _x86_64_ (2 CPU)
11时02分46秒 DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
11时02分47秒 dev252-0 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
11时02分47秒 DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
11时02分48秒 dev252-0 6.06 0.00 64.65 10.67 0.00 0.00 0.00 0.00
11时02分48秒 DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util
11时02分49秒 dev252-0 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
平均时间: dev252-0 2.00 0.00 21.33 10.67 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的百分比,比率越大,说明越饱和
1. avgqu-sz 的值较低时,设备的利用率较高
2. 当%util的值接近 1% 时,表示设备带宽已经占满
sar -o path_file [选项][ <时间间隔> [ <次数> ] ]
示例:
sar -o sarfile.log -u 1 3
上述示例命令会将sar -u 1 3
采集到的数据以二进制的格式存放到文件sarfile.log
中。
我们还可以通过命令sadf -d sarfile.log
将二进制数据文件转换成数据库可读的格式。
sadf -d sarfile.log
# hostname;interval;timestamp;CPU;%user;%nice;%system;%iowait;%steal;%idle
upfor163;1;2018-04-25 03:15:02 UTC;-1;0.00;0.00;0.50;0.50;0.00;99.00
upfor163;1;2018-04-25 03:15:03 UTC;-1;1.01;0.00;0.00;0.00;0.00;98.99
upfor163;1;2018-04-25 03:15:04 UTC;-1;0.00;0.00;0.00;0.00;0.00;100.00
也可以将这些数据存储在一个 csv 文档中,然后绘制成图表展示方式,如下所示:
sadf -d sarfile.log | sed 's/;/,/g' > sarfile.csv
sar -f <文件路径>
示例:
sar -f sarfile.log
Linux 2.6.32-696.13.2.el6.x86_64 (upfor163) 2018年04月25日 _x86_64_ (2 CPU)
11时15分01秒 CPU %user %nice %system %iowait %steal %idle
11时15分02秒 all 0.00 0.00 0.50 0.50 0.00 99.00
11时15分03秒 all 1.01 0.00 0.00 0.00 0.00 98.99
11时15分04秒 all 0.00 0.00 0.00 0.00 0.00 100.00
平均时间: all 0.33 0.00 0.17 0.17 0.00 99.33
又将之前存储在二进制文件中的数据给读取并展示出来。
sar -u
和sar -q
等来查看sar -B
、sar -r
和sar -W
等来查看sar -b
、sar -u
和sar -d
等来查看