解释IOstat结果

以下是iostats的结果:

Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn sda 120.94 10201.14 4354.87 64513033284 27540653120 sdb 63.65 3968.03 4354.86 25094207680 27540569008 md0 615.82 7432.50 4350.45 47003864466 27512714296 sdc 0.76 1.39 138.88 8770432 878321976 

我的问题如下

  1. 我想知道的是iostat从哪里获取这些信息?
  2. 我还注意到, md0Blk_read / sBlk_wrtn / s似乎是这两个值的平均值。 它是否正确?
  3. 为什么tpsmd0和其他硬盘有明显的不同?
  4. 当使用内部设置(iostat 1)运行时,读取通常只在硬盘上进行? 有没有办法更均匀地分配硬盘驱动器的读取?
  5. 以间隔设置运行iostat时,值可能会不时显着不同。 我为什么要读这本书? 例如,下面的输出对sda / sdb有一个12的读请求,对于md0有一个190的读请求。

    装置:rrqm / s wrqm / sr / sw / s rsec / s wsec / s avgrq-sz avgqu-sz await svctm%util sda 5.00 185.00 46.00 12.00 11728.00 1547.00 228.88 0.56 9.71 4.34 25.20 sdb 0.00 185.00 0.00 12.00 0.00 1547.00 128.92 0.06 5.08 4.50 5.40 md0 0.00 0.00 51.00 190.00 11728.00 1520.00 54.97 0.00 0.00 0.00 0.00 sdc 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

iostat从/proc/diskstats读取:

 $ cat /proc/diskstats|grep xvd 202 0 xvda 520666 4246 20785306 229576 7437051 9702824 137989688 9359030 0 1953230 9673210 202 16 xvdb 13128 24069 297576 6090 22079 86786 870920 32713 0 15363 38740 202 32 xvdc 497684 2427 23846898 258340 75265869 191974312 2137955584 80786246 0 11698503 81346596 

Kernel.org有关于所有字段的文档 。

此外, iostat手册页包含指向其所有数据源的指针:

 FILES /proc/stat contains system statistics. /proc/uptime contains system uptime. /proc/diskstats contains disks statistics. /sys contains statistics for block devices. /proc/self/mountstats contains statistics for network filesystems.