Linux - iostat 命令详解(监视磁盘 I/O)
iostat 是最常用的磁盘 I/O 性能观测工具,它提供了每个磁盘的使用率、IOPS、吞吐量等各种常见的性能指标,这些指标实际上来自 /proc/diskstats。
·
iostat 是最常用的磁盘 I/O 性能观测工具,它提供了每个磁盘的使用率、IOPS、吞吐量等各种常见的性能指标,这些指标实际上来自 /proc/diskstats。
使用方式说明
[root@izwz98ahlvpkv3l7551ud2z ~]# iostat -help
用法:
iostat [ 选项 ] [ <时间间隔> [ <次数> ] ]
选项:
[ -c ] [ -d ] [ -h ] [ -k | -m ] [ -N ] [ -t ] [ -V ] [ -x ] [ -y ] [ -z ]
[ -j { ID | LABEL | PATH | UUID | ... } ]
[ [ -T ] -g <用户组名> ] [ -p [ <设备> [,...] | ALL ] ]
[ <设备> [...] | ALL ]
选项参数说明:
-c
: 仅显示CPU统计信息,与-d选项互斥-d
:仅显示磁盘统计信息,与-c选项互斥-h
:使用NFS(Network File System网络文件系统)的输出报告,更加友好可读。需要使用-n参数开启NFS。-k
:以 kb 为单位显示,默认情况下,iostat的输出是以block作为计量单位,加上这个参数可以以kb作为计量单位显示。(该参数仅在linux内核版本2.4以后数据才是准确的)-m
:以 mb 为单位显示(该参数仅在linux内核版本2.4以后数据才是准确的)-N
:显示磁盘阵列(LVM) 信息。-V
:显示版本信息-x
:显示更详细的磁盘报告信息,默认只显示六列,加上该参数后会显示更详细的信息(该参数仅在linux内核版本2.4以后数据才是准确的)-n
:显示NFS(Network File System网络文件系统) 使用情况(该参数仅在linux内核版本2.6.17以后有效)-t
:输出报告时显示系统时间-p
:[ { device [,…] | ALL } ] 显示磁盘分区的相关统计信息(默认粒度只到磁盘,没有显示具体的逻辑分区)-y
:跳过不显示第一次报告的数据,因为iostat使用的是采样统计,所以iostat的第一次输出的数据是自系统启动以来的累计的数据,这个参数非常重要,因为第一次数据不属于正常数据,所以如果做数据统计时,计入了统计,会影响最终数据结果-z
:只显示在采样周期内有活动的磁盘-j
:{ ID | LABEL | PATH | UUID | … } 磁盘列表的Device列要用什么维度来描述磁盘
指标含义说明
iostat 基本输出界面如下:
指标说明:
- avg-cpu(CPU性能指标):
性能指标 | 含义 |
---|---|
%usr | CPU在用户模式下的时间百分比 |
%nice | CPU处在带NICE值的用户模式下的时间百分比 |
%system | CPU在系统模式下的时间百分比 |
%iowait | CPU等待输入输出完成时间的百分比 |
%steal | 管理程序维护另一个虚拟处理器时,虚拟CPU的无意识等待时间百分比 |
%idle | CPU空闲时间百分比 |
- Device(设备性能指标):
性能指标 | 含义 |
---|---|
tps | 该设备每秒传输次数 |
kB_read/s | 每秒从设备读取的数据量 |
kB_wrtn/s | 每秒向设备写入的数据量 |
kB_read | 读取的总数据量 |
kB_wrtn | 写入的总数据量 |
iostat 详细输出界面如下:
指标说明:
性能指标 | 含义 | 提示 |
---|---|---|
Device | 磁盘设备的名字 | |
rrqm/s | 每秒合并的读请求数 | %rrqm表示合并读请求的百分比 |
wrqm/s | 每秒合并的写请求数 | %wrqm表示合并写请求的百分比 |
r/s | 每秒发送给磁盘的读请求数 | 合并后的请求数,r/s+w/s就是磁盘IOPS |
w/s | 每次发送给磁盘的写请求数 | 合并后的请求数 |
rkB/s | 每秒向磁盘读取的数据量 | 单位为kB,rkB/s+wkB/s就是磁盘吞吐量 |
wkB/s | 每秒向磁盘写入的数据量 | 单位为kB |
avgrq-sz | 平均每次设备I/O操作的 (扇区)数据大小。 | |
avgqu-sz | 平均I/O队列长度,即IO等待个数。数值越低越好。 | 新版中为aqu-sz |
await | 每一个IO请求的处理的平均时间(单位ms)。 | |
r_await | 读请求处理完成等待时间 | 包括队列中的等待时间和设备实际处理的时间,单位为毫秒,r_await+w_await就是磁盘对请求响应时间 |
w_await | 写请求处理完成等待时间 | 包括队列中的等待时间和设备实际处理的时间,单位为毫秒 |
rareq-sz | 平均读请求大小 | 单位为kB |
wareq-sz | 平均写请求大小 | 单位为kB |
svctm | 处理I/O请求所需的平均时间(不包括等待时间) | 单位为毫秒。注意这是推断的数据,并不保证完全准确 |
%util | 磁盘处理I/O的时间百分比 | 即磁盘IO使用率,由于可能存在并行I/O,100%并不一定表明磁盘I/O饱和。 |
更多推荐
已为社区贡献1条内容
所有评论(0)