一、命令简介
iostat
命令用于报告系统中 CPU、磁盘、tty 设备和 CPU 利用率统计信息。
需安装 sysstat
软件包,该软件包提供了一组工具,包括 iostat
、sar
、mpstat
等,用于系统性能监控和报告。
二、命令参数
bash
iostat [options] [interval [count]]
常用选项
-c, --cpu
: 显示 CPU 使用率统计信息。-d, --disk
: 显示磁盘 I/O 统计信息。-t, --tty
: 显示 tty 设备的统计信息。-x, --extended
: 显示更多详细信息。-h, --help
: 显示帮助信息并退出。-V, --version
: 显示版本信息并退出。
参数
interval
: 每次报告之间的延迟时间(以秒为单位)。count
: 要报告的次数。
三、命令示例
命令
bash
iostat # 显示系统当前的平均负载,磁盘 I/O 统计信息
iostat -d 1 # 显示磁盘 I/O 统计信息,每秒更新一次:
iostat -c 1 # 显示CPU使用率统计信息,每秒更新一次:
iostat -t 1 # 显示tty设备的统计信息,每秒更新一次:
iostat -x # 显示更多详细信息:
iostat
命令(不带参数)输出示例
bash
Linux 6.5.0-26-generic (k455l) 2024年04月09日 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
5.83 0.02 2.47 2.46 0.00 89.21
Device tps kB_read/s kB_wrtn/s kB_dscd/s kB_read kB_wrtn kB_dscd
md1 19.11 831.58 597.63 0.00 58353239 41936236 0
md127 0.02 0.08 0.00 0.00 5785 4 0
sda 10.95 60.44 294.93 0.00 4241232 20695817 0
sdb 18.51 534.18 600.51 0.00 37484009 42138410 0
sdc 0.00 0.02 0.00 0.00 1220 0 0
sdd 0.02 0.10 0.00 0.00 7141 21 0
sde 16.21 297.60 600.51 0.00 20883229 42138430 0
sdf 0.01 0.12 0.00 0.00 8097 24 0
在这个示例中,显示了各个设备(如 loop0
、sda
、sdb
等)的 I/O 统计信息,包括每秒传输的 I/O 请求数量、读写数据量等:
-
系统信息:
Linux 6.5.0-26-generic (k455l)
: 操作系统及主机名。2024年04月09日
: 当前日期。_x86_64_
: 系统架构。(4 CPU)
: CPU 数量。
-
平均 CPU 利用率:
avg-cpu
: 平均 CPU 利用率的统计信息。%user
: 用户空间程序占用 CPU 的百分比。%nice
: 以较高优先级运行的用户空间程序占用 CPU 的百分比。%system
: 内核空间程序占用 CPU 的百分比。%iowait
: CPU 等待 I/O 操作完成的百分比。%steal
: 被其他虚拟机或物理机偷取 CPU 时间的百分比。%idle
: CPU 空闲的百分比。
-
设备统计:
Device
: 设备名称。tps
: 每秒钟传输的 I/O 请求数量(即每秒钟的事务数)。kB_read/s
: 每秒钟从设备读取的数据量(单位:KB)。kB_wrtn/s
: 每秒钟写入设备的数据量(单位:KB)。kB_dscd/s
: 每秒钟从设备丢弃的数据量(单位:KB)。kB_read
: 读取自设备的总数据量(单位:KB)。kB_wrtn
: 写入设备的总数据量(单位:KB)。kB_dscd
: 从设备丢弃的总数据量(单位:KB)。
如果想要更多信息可使用 iostat -x
命令,将输出下列内容:
Device
:设备名称。r/s
:每秒完成的读取请求次数。rkB/s
:每秒读取的数据量(单位:KB)。rrqm/s
:每秒合并的读取请求次数(合并的读取请求是由于相邻的读取请求可以合并为一个较大的读取请求)。%rrqm
:合并的读取请求占总读取请求的百分比。r_await
:平均读取请求等待时间(单位:毫秒)。rareq-sz
:平均读取请求的大小(单位:扇区)。w/s
:每秒完成的写入请求次数。wkB/s
:每秒写入的数据量(单位:KB)。wrqm/s
:每秒合并的写入请求次数(合并的写入请求是由于相邻的写入请求可以合并为一个较大的写入请求)。%wrqm
:合并的写入请求占总写入请求的百分比。w_await
:平均写入请求等待时间(单位:毫秒)。wareq-sz
:平均写入请求的大小(单位:扇区)。d/s
:每秒完成的删除请求次数。dkB/s
:每秒删除的数据量(单位:KB)。drqm/s
:每秒合并的删除请求次数(合并的删除请求是由于相邻的删除请求可以合并为一个较大的删除请求)。%drqm
:合并的删除请求占总删除请求的百分比。d_await
:平均删除请求等待时间(单位:毫秒)。dareq-sz
:平均删除请求的大小(单位:扇区)。f/s
:每秒完成的 I/O 请求失败的次数。f_await
:平均 I/O 请求失败的等待时间(单位:毫秒)。aqu-sz
:I/O 请求等待队列的平均长度(单位:请求)。%util
:设备的利用率百分比(即设备非空闲时间占总时间的百分比)。