Linux iostat 命令

iostat 是 Linux 系统中用于监控 CPU 和磁盘 I/O 使用情况的工具,它可以帮助分析系统的 I/O 瓶颈。

1. 基本语法

iostat [选项] [间隔时间] [次数]

2. 选项参数说明

参数 说明 示例
-c 显示 CPU 统计信息 iostat -c
-d 显示设备 I/O 统计信息(默认启用) iostat -d
-h 以人类可读的格式显示数据 iostat -h
-k 以 KB 为单位显示吞吐量(默认) iostat -k
-m 以 MB 为单位显示吞吐量 iostat -m
-N 显示 LVM 逻辑卷的设备名称 iostat -N
-t 在输出中显示时间戳 iostat -t
-V 显示 iostat 版本信息并退出 iostat -V
-x 显示扩展 I/O 统计信息 iostat -x
-y 仅显示自上次运行 iostat 以来的数据,不显示启动时的平均值 iostat -y 1 5
-z 省略所有活动为零的设备 iostat -z
-j {ID |LABEL|PATH|UUID|...} 指定如何标识设备(如 UUID、设备路径等) iostat -j UUID
-H 以可读格式显示设备统计数据,仅与 -g 结合使用 iostat -H -g my_group
-g <group_name> 指定设备分组名称,需配合 -H 使用 iostat -H -g my_group
-p [<device>[,...] | ALL] 显示设备及其分区的统计信息 iostat -p sda
<device> 仅显示指定设备的统计信息 iostat sdc
<interval> 设定统计数据刷新时间间隔(秒) iostat 1
<count> 设定统计数据刷新的次数 iostat 1 10
ALL 显示所有设备的统计信息 iostat -d ALL

3. 返回信息中字段说明

  • CPU 统计字段解释;在 avg-cpu 部分
字段 说明
%user 用户态 CPU 占用率(不包括 nice 优先级调整)
%nice 低优先级进程(nice 值 > 0)占用的 CPU 比例
%system 内核态(系统进程)CPU 占用率
%iowait CPU 等待 I/O 完成的时间占比,高值可能意味着 I/O 瓶颈
%steal 虚拟机等待 hypervisor 处理其他虚拟 CPU 的时间
%idle CPU 空闲时间
  • 磁盘 I/O 统计字段解释;在 Device(磁盘)统计部分
字段 说明
Device 设备名称(如:sda, sdb, nvme0n1)
r/s 每秒读请求数(Reads per Second)
w/s 每秒写请求数(Writes per Second)
rkB/s 每秒读的数据量(单位:KB/s)
wkB/s 每秒写的数据量(单位:KB/s)
rrqm/s 每秒被合并的读请求数(Read requests merged per second)
wrqm/s 每秒被合并的写请求数(Write requests merged per second)
%rrqm 合并读请求数在所有读请求中的比例 = rrqm/s ÷ (r/s + rrqm/s)
%wrqm 合并写请求数在所有写请求中的比例 = wrqm/s ÷ (w/s + wrqm/s)
r\_await 读请求的平均等待时间(毫秒)
w\_await 写请求的平均等待时间(毫秒)
aqu-sz 平均队列长度(Average Queue Size)——等待 I/O 的请求数
rareq-sz 平均每次读请求的数据大小(KB)
wareq-sz 平均每次写请求的数据大小(KB)
svctm 每个 I/O 请求的平均处理时间(毫秒)
%util 设备使用率(100% 表示设备满负荷运行)
tps 每秒 I/O 传输次数,即每秒执行的 I/O 操作(读取或写入)。
一个传输通常是一个块 I/O 请求,可能涉及多个扇区。
kB_read/s 每秒读取的节数(kB/s)。
kB_wrtn/s 每秒写入的节数(kB/s)。
kB_read 自系统启动以来,读取的总 KB 数。
kB_wrtn 自系统启动以来,写入的总 KB 数。

4. 常用命令示例

  • iostat 基本磁盘 I/O 统计
  • iostat -xz 省略无活动设备,显示扩展信息
# iostat -xz
Linux 4.4.0-131-generic (A04)   03/03/2025  _x86_64_    (56 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.20    0.00    0.19    0.10    0.00   99.51

Device:         rrqm/s   wrqm/s     r/s     w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await r_await w_await  svctm  %util
loop0             0.00     0.00    0.00    0.00     0.00     0.00     5.00     0.00    0.00    0.00    0.00   0.00   0.00
sda               0.07     1.98    0.35    2.78     6.23    39.27    29.06     0.00    0.61    0.34    0.64   0.11   0.03
sdb               0.00     0.00    0.00   77.63     0.01  3331.36    85.82     0.01    0.17    0.09    0.17   0.05   0.37
sdc               0.07     3.71   39.80   69.78  7933.43  4294.60   223.17     0.00    0.02    0.33    0.18   0.02   0.26
  • iostat -x sdc 1 5 仅查看 sdc 的信息且每秒刷新一次 5 次后退出
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容