由於業務特性,需要監控機器的每個磁盤的util情況,以便排查問題。但是實際使用中發現,當通過 iostat -x 查看時 ,磁盤的util是不准確的,即便有哪個盤達到了99也監測不出來。但是 iostate -x 1 這樣定時刷新,就能看到准確的值。


通過 iostat -x 1 2 ,這樣執行兩次,然后獲取第二次的結果就可以獲取真實的util。
腳本代碼如下:
#!/bin/bash
x=$(iostat -x 1 2 | grep sd | awk '{print $1,$NF}')
count=$(echo "$x" | wc -l)
echo "$x" | tail -n $(( $count / 2 ))
執行結果:
$ sh monitor_diskutil.sh
sda 0.10
sdn 0.00
sdc 2.00
sdf 99.60
sdl 4.90
sdm 8.30
sdd 1.20
sde 2.80
sdh 3.30
sdj 3.30
sdg 6.40
sdk 3.00
sdb 0.00
sdi 2.80
