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性能指标):
性能指标含义
%usrCPU在用户模式下的时间百分比
%niceCPU处在带NICE值的用户模式下的时间百分比
%systemCPU在系统模式下的时间百分比
%iowaitCPU等待输入输出完成时间的百分比
%steal管理程序维护另一个虚拟处理器时,虚拟CPU的无意识等待时间百分比
%idleCPU空闲时间百分比
  • 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饱和。
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐