##############
#
# 操作
#
##############
# iostat -x 1 10
Linux 2.6.18-92.el5xen 02/03/2009
avg-cpu: %user %nice %system %iowait %steal %idle
1.10 0.00 4.82 39.54 0.07 54.46
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sda 0.00 3.50 0.40 2.50 5.60 48.00 18.48 0.00 0.97 0.97 0.28
sdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 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
sdd 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sde 0.00 0.10 0.30 0.20 2.40 2.40 9.60 0.00 1.60 1.60 0.08
sdf 17.40 0.50 102.00 0.20 12095.20 5.60 118.40 0.70 6.81 2.09 21.36
sdg 232.40 1.90 379.70 0.50 76451.20 19.20 201.13 4.94 13.78 2.45 93.16
##############
#
# 注釋
#
##############
rrqm/s: 每秒進行 merge 的讀運算元目.即 delta(rmerge)/s
wrqm/s: 每秒進行 merge 的寫運算元目.即 delta(wmerge)/s
r/s: 每秒完成的讀 I/O 裝置次數.即 delta(rio)/s
w/s: 每秒完成的寫 I/O 裝置次數.即 delta(wio)/s
rsec/s: 每秒讀扇區數.即 delta(rsect)/s
wsec/s: 每秒寫扇區數.即 delta(wsect)/s
rkB/s: 每秒讀K位元組數.是 rsect/s 的一半,每扇區大小為512位元組.(需要計算)
wkB/s: 每秒寫K位元組數.是 wsect/s 的一半.(需要計算)
avgrq-sz: 平均每次裝置I/O操作的資料大小 (扇區).delta(rsect wsect)/delta(rio wio)
avgqu-sz: 平均I/O隊列長度.即 delta(aveq)/s/1000 (aveq的單位為毫秒).
await: 平均每次裝置I/O操作的等待時間 (毫秒).即 delta(ruse wuse)/delta(rio wio)
svctm: 平均每次裝置I/O操作的服務時間 (毫秒).即 delta(use)/delta(rio wio)
%util: 一秒中有百分之多少的時間用於 I/O 操作,或者說一秒中有多少時間 I/O 隊列是非空的.即 delta(use)/s/1000 (use的單位為毫秒)
##############
#
# 分析
#
##############
1.如果 %util 接近 100%,說明產生的I/O請求太多,I/O系統已經滿負荷,該磁碟可能存在瓶頸.
2.如果 idle 小於 70% IO壓力就較大了,一般讀取速度有較多的wait.
3.同時可以結合vmstat 查看查看b參數(等待資源的進程數)和wa參數(IO等待所佔用的CPU時間的百分比,高過30%時IO壓力高)
4.另外還可以參考
svctm 一般要小於 await (同時等待的請求的等待時間被重複計算了),svctm 的大小一般和磁碟效能有關,CPU/記憶體的負荷也會對其有影響,請求過多也會間接導致 svctm 的增加.await 的大小一般取決於服務時間(svctm) 以及 I/O 隊列的長度和 I/O 請求的發出模式.如果 svctm 比較接近 await,說明 I/O 幾乎沒有等待時間;如果 await 遠大於 svctm,說明 I/O 隊列太長,應用得到的回應時間變慢,如果回應時間超過了使用者可以容許的範圍,這時可以考慮更換更快的磁碟,調整核心 elevator 演算法,最佳化應用,或者升級 CPU.
隊列長度(avgqu-sz)也可作為衡量系統 I/O 負荷的指標,
##############
#
# 操作
#
##############
# iostat -x 1 10
Linux 2.6.18-92.el5xen 02/03/2009
avg-cpu: %user %nice %system %iowait %steal %idle
1.10 0.00 4.82 39.54 0.07 54.46
Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm %util
sda 0.00 3.50 0.40 2.50 5.60 48.00 18.48 0.00 0.97 0.97 0.28
sdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 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
sdd 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
sde 0.00 0.10 0.30 0.20 2.40 2.40 9.60 0.00 1.60 1.60 0.08
sdf 17.40 0.50 102.00 0.20 12095.20 5.60 118.40 0.70 6.81 2.09 21.36
sdg 232.40 1.90 379.70 0.50 76451.20 19.20 201.13 4.94 13.78 2.45 93.16
##############
#
# 注釋
#
##############
rrqm/s: 每秒進行 merge 的讀運算元目.即 delta(rmerge)/s
wrqm/s: 每秒進行 merge 的寫運算元目.即 delta(wmerge)/s
r/s: 每秒完成的讀 I/O 裝置次數.即 delta(rio)/s
w/s: 每秒完成的寫 I/O 裝置次數.即 delta(wio)/s
rsec/s: 每秒讀扇區數.即 delta(rsect)/s
wsec/s: 每秒寫扇區數.即 delta(wsect)/s
rkB/s: 每秒讀K位元組數.是 rsect/s 的一半,每扇區大小為512位元組.(需要計算)
wkB/s: 每秒寫K位元組數.是 wsect/s 的一半.(需要計算)
avgrq-sz: 平均每次裝置I/O操作的資料大小 (扇區).delta(rsect wsect)/delta(rio wio)
avgqu-sz: 平均I/O隊列長度.即 delta(aveq)/s/1000 (aveq的單位為毫秒).
await: 平均每次裝置I/O操作的等待時間 (毫秒).即 delta(ruse wuse)/delta(rio wio)
svctm: 平均每次裝置I/O操作的服務時間 (毫秒).即 delta(use)/delta(rio wio)
%util: 一秒中有百分之多少的時間用於 I/O 操作,或者說一秒中有多少時間 I/O 隊列是非空的.即 delta(use)/s/1000 (use的單位為毫秒)
##############
#
# 分析
#
##############
1.如果 %util 接近 100%,說明產生的I/O請求太多,I/O系統已經滿負荷,該磁碟可能存在瓶頸.
2.如果 idle 小於 70% IO壓力就較大了,一般讀取速度有較多的wait.
3.同時可以結合vmstat 查看查看b參數(等待資源的進程數)和wa參數(IO等待所佔用的CPU時間的百分比,高過30%時IO壓力高)
4.另外還可以參考
svctm 一般要小於 await (系統 I/O 負荷的指標,