iostat
NAME and DESCRIPTION
Linux系统中的 iostat是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视。它的特点是汇报磁盘活动统计情况,同时也会汇报出CPU使用情况。同vmstat一样,iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析。
SYNOPSIS
iostat [ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -s ] [ -t ] [ -V ] [ -x ] [ -y ] [ -z ] [ -j
{ ID | LABEL | PATH | UUID | ... } ] [ -o JSON ] [ [ -H ] -g group_name ] [ --human ] [ -p [
device [,...] | ALL ] ] [ device [...] | ALL ] [ interval [ count ] ]
OPTIONS
-C 显示CPU使用情况 Display the CPU utilization report.
-d 显示磁盘使用情况 Display the device utilization report.
-k 以 KB 为单位显示
-m 以 M 为单位显示
-N 显示磁盘阵列(LVM) 信息
-n 显示NFS 使用情况
-p[磁盘] 显示磁盘和分区的情况
-t 显示终端和CPU的信息
-x 显示详细信息
-x device
-V 显示版本信息
intervals 间隔时间
EXAMPLES
eg1 cpu
iostat -c
eg2
iostat -d 5 2
Linux 2.6 2017年09月14日 _x86_64_ (8 CPU)
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
vda 2.01 12.89 77.13 2998804 17948680
vdb 21.09 57.76 660.94 13439490 153798072
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
vda 1.60 0.00 22.40 0 112
vdb 7.60 0.00 688.00 0 3440
说明:
tps:该设备每秒的传输次数(Indicate the number of transfers per second that were issued to the device.)。“一次传输”意思是“一次I/O请求”。多个逻辑请求可能会被合并为“一次I/O请求”。“一次传输”请求的大小是未知的。
kB_read/s:每秒从设备(drive expressed)读取的数据量;
kB_wrtn/s:每秒向设备(drive expressed)写入的数据量;
kB_read:读取的总数据量;kB_wrtn:写入的总数量数据量;
这些单位都为Kilobytes。
上面的例子中,我们可以看到磁盘sda来说 以及它的各个分区的统计数据,当时统计的磁盘总TPS是2.01,下面是各个分区的TPS。(因为是瞬间值,所以总TPS并不严格等于各个分区TPS的总和)
eg3
iostat -d -x -k 1 1 #相似与 sar -d
2017年09月14日 _x86_64_ (8 CPU)
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
vda 0.01 7.89 0.27 1.74 6.44 38.55 44.73 0.02 11.47 5.63 12.38 2.19 0.44
vdb 0.00 62.12 0.60 20.49 28.86 330.51 34.08 0.20 9.39 4.20 9.55 0.32 0.68
参数 -d 表示,显示设备(磁盘)使用状态;-k某些使用block为单位的列强制使用Kilobytes为单位;1表示,数据显示每隔1秒刷新一次。
rrqm/s: 每秒进行 merge 的读操作数目.即 delta(rmerge)/s
wrqm/s: 每秒进行 merge 的写操作数目.即 delta(wmerge)/s
r/s: 每秒完成的读 I/O 设备次数.即 delta(rio)/s
w/s: 每秒完成的写 I/O 设备次数.即 delta(wio)/s
rsec/s: 每秒读扇区数.即 delta(rsect)/s
wsec/s: 每秒写扇区数.即 delta(wsect)/s
常见用法
iostat -d -k 1 10 #查看TPS和吞吐量信息(磁盘读写速度单位为KB)
iostat -d -m 2 #查看TPS和吞吐量信息(磁盘读写速度单位为MB)
iostat -d -x -k 1 10 #查看设备使用率(%util)、响应时间(await) iostat -c 1 10 #查看cpu状态
参考
每天一个linux命令(47):iostat命令
Linux IO实时监控iostat命令详解
Iotop