以下是 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
我的问题如下
- 我想知道的是iostat是从哪里获取此信息的?
- 我还注意到Blk_read/s和Blk_wrtn/s为了md0似乎是两个值的平均值。这是正确的吗?
- 为什么每秒差异很大md0另一个硬盘呢?
- 使用内部设置 (iostat 1) 运行时,读取通常只在硬盘上进行?有没有办法将读取更均匀地分布在硬盘上?
当运行设置了间隔的 iostat 时,值可能会不时出现很大差异。为什么我会得到这个读数?例如,下面的输出对两者的读取请求都是 12国家标准局/国家数据库值为 190md0。
设备:rrqm/s wrqm/sr/sw/s rsec/s wsec/s avgrq-sz avgqu-sz 等待 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
答案1
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.