Linux命令-iostat
iostat 命令介绍
iostat 是一个用于监控 Linux 系统输入/输出设备加载情况的工具。它可以显示 CPU 的使用情况以及设备和分区的输入/输出统计信息,对于诊断系统性能瓶颈(如磁盘或网络活动缓慢)特别有用。
语法:
iostat [options] [interval] [count]
interval:每次报告之间的时间间隔(以秒为单位)。
count:要显示的报告数量。
选项 | 说明 |
---|---|
-c | 仅显示 CPU 统计信息。 |
-d | 仅显示设备级统计信息。 |
-x | 显示扩展统计数据,包括详细的 I/O 指标。 |
-p | 显示设备分区的统计信息。 |
-t | 打印每个报告的时间戳。 |
-h | 显示带有可用选项的帮助消息。 |
-k | 以千字节每秒为单位显示报告。 |
-m | 以兆字节每秒为单位显示报告。 |
-N | 显示 LVM 逻辑卷管理器设备信息。 |
-V | 显示版本及帮助信息。 |
-y | 跳过不显示第一次报告的数据(通常为系统启动以来的平均值)。 |
-z | 省略没有活动的设备的输出。 |
-g | 显示设备组的统计信息。 |
-j | 显示持久化设备名称。 |
-T | 与-g一起使用,仅显示设备组的全局统计信息。 |
示例用法
1.显示基本 CPU 和 I/O 统计信息
iostat
此命令将显示自系统启动以来的 CPU 和设备 I/O 统计信息。
2.每隔 2 秒报告一次设备 I/O 统计信息
iostat -d 2
3.显示扩展统计信息
iostat -x sda sdb 2 6
此命令将每隔 2 秒报告一次设备 sda 和 sdb 的扩展统计信息,总共报告 6 次.
4.显示设备分区的统计信息
iostat -p sda 2 6
此命令将每隔 2 秒报告一次设备 sda 及其分区的统计信息,总共报告 6 次。
输出字段解释
CPU 统计信息
字段 说明
%user 用户空间的 CPU 使用率。
%nice 以 nice 优先级运行的用户空间的 CPU 使用率。
%system 内核空间的 CPU 使用率。
%iowait CPU 等待 I/O 操作完成的时间百分比。
%steal 虚拟 CPU 被其他虚拟处理器占用的时间百分比。
%idle CPU 空闲时间的百分比。
设备统计信息
Device 设备或分区名称。
tps 每秒向设备发出的 I/O 请求数。
Blk_read/s 每秒从设备读取的数据量(以块为单位)。
Blk_wrtn/s 每秒向设备写入的数据量(以块为单位)。
Blk_read 总计从设备读取的数据量(以块为单位)。
Blk_wrtn 总计向设备写入的数据量(以块为单位)。
rrqm/s 每秒合并的读请求数。
wrqm/s 每秒合并的写请求数。
r/s 每秒完成的读请求数。
w/s 每秒完成的写请求数。
rsec/s 每秒读取的扇区数。
wsec/s 每秒写入的扇区数。
avgrq-sz 每个 I/O 请求的平均大小(以扇区为单位)。
avgqu-sz 每个设备的平均请求队列长度。
await 每个 I/O 请求的平均等待时间(包括排队时间和处理时间)。
r_await 每个读请求的平均等待时间。
w_await 每个写请求的平均等待时间。
svctm 每个 I/O 请求的平均处理时间(警告:此字段在新版本中可能不准确)。
%util 设备的利用率。