溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

iostat如何使用

發(fā)布時間:2021-10-21 10:12:32 來源:億速云 閱讀:159 作者:小新 欄目:移動開發(fā)

這篇文章將為大家詳細講解有關(guān)iostat如何使用,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

iostat 結(jié)果解析

[root@20081006-1724 ~]# iostat -x
Linux 2.6.9-78.ELsmp (20081006-1724)    11/20/2009
avg-cpu:  %user   %nice    %sys %iowait   %idle
           0.19    0.00    0.04    0.03   99.73
Device:    rrqm/s wrqm/s   r/s   w/s  rsec/s  wsec/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await  svctm  %util
sda          0.05  17.60  1.46  7.72   80.69  202.57    40.34   101.29    30.87     0.01    1.06   0.37   0.34
sda1         0.00   0.00  0.00  0.00    0.00    0.00     0.00     0.00    29.90     0.00    3.14   3.14   0.00
sda2         0.00   0.00  0.00  0.00    0.00    0.00     0.00     0.00    16.25     0.00    1.51   1.30   0.00
sda3         0.05  17.60  1.46  7.72   80.69  202.57    40.34   101.29    30.87     0.01    1.06   0.37   0.34
dm-0         0.00   0.00  1.46 25.28   80.32  202.26    40.16   101.13    10.57     0.36   13.56   0.13   0.34
dm-1         0.00   0.00  0.05  0.04    0.37    0.32     0.18     0.16     8.00     0.00    6.84   1.30   0.01

rrqm/s: 每秒進行 merge 的讀操作數(shù)目。即 delta(rmerge)/s
wrqm/s: 每秒進行 merge 的寫操作數(shù)目。即 delta(wmerge)/s
r/s: 每秒完成的讀 I/O 設(shè)備次數(shù)。即 delta(rio)/s
w/s: 每秒完成的寫 I/O 設(shè)備次數(shù)。即 delta(wio)/s
rsec/s: 每秒讀扇區(qū)數(shù)。即 delta(rsect)/s
wsec/s: 每秒寫扇區(qū)數(shù)。即 delta(wsect)/s
rkB/s: 每秒讀K字節(jié)數(shù)。是 rsect/s 的一半,因為每扇區(qū)大小為512字節(jié)。
wkB/s: 每秒寫K字節(jié)數(shù)。是 wsect/s 的一半。
avgrq-sz: 平均每次設(shè)備I/O操作的數(shù)據(jù)大小 (扇區(qū))。即 delta(rsect+wsect)/delta(rio+wio)
avgqu-sz: 平均I/O隊列長度。即 delta(aveq)/s/1000 (因為aveq的單位為毫秒)。
await: 平均每次設(shè)備I/O操作的等待時間 (毫秒)。即 delta(ruse+wuse)/delta(rio+wio)
svctm: 平均每次設(shè)備I/O操作的服務時間 (毫秒)。即 delta(use)/delta(rio+wio)
%util: 一秒中有百分之多少的時間用于 I/O 操作,或者說一秒中有多少時間 I/O 隊列是非空的。
即 delta(use)/s/1000 (因為use的單位為毫秒)

如果 %util 接近 100%,說明產(chǎn)生的I/O請求太多,I/O系統(tǒng)已經(jīng)滿負荷,該磁盤
可能存在瓶頸。

比較重要的參數(shù)
%util:      一秒中有百分之多少的時間用于 I/O 操作,或者說一秒中有多少時間 I/O 隊列是非空的
svctm:   平均每次設(shè)備I/O操作的服務時間
await:    平均每次設(shè)備I/O操作的等待時間
avgqu-sz: 平均I/O隊列長度

如果%util接近100%,表明i/o請求太多,i/o系統(tǒng)已經(jīng)滿負荷,磁盤可能存在瓶頸,一般%util大于70%,i/o壓力就比較大,讀取速度有較多的wait.同時可以結(jié)合vmstat查看查看b參數(shù)(等待資源的進程數(shù))和wa參數(shù)(IO等待所占用的CPU時間的百分比,高過30%時IO壓力高)。
await 的大小一般取決于服務時間(svctm) 以及 I/O 隊列的長度和 I/O 請求的發(fā)出模式。如果 svctm 比較接近 await,說明 I/O 幾乎沒有等待時間;如果 await 遠大于 svctm,說明 I/O 隊列太長,應用得到的響應時間變慢。

形象的比喻
r/s+w/s 類似于交款人的總數(shù)
平均隊列長度(avgqu-sz)類似于單位時間里平均排隊人的個數(shù)
平均服務時間(svctm)類似于收銀員的收款速度
平均等待時間(await)類似于平均每人的等待時間
平均I/O數(shù)據(jù)(avgrq-sz)類似于平均每人所買的東西多少
I/O 操作率 (%util)類似于收款臺前有人排隊的時間比例

設(shè)備IO操作:總IO(io)/s = r/s(讀) +w/s(寫) =1.46 + 25.28=26.74
平均每次設(shè)備I/O操作只需要0.36毫秒完成,現(xiàn)在卻需要10.57毫秒完成,因為發(fā)出的請求太多(每秒26.74個),假如請求時同時發(fā)出的,可以這樣計算平均等待時間:
平均等待時間=單個I/O服務器時間*(1+2+...+請求總數(shù)-1)/請求總數(shù) 
每秒發(fā)出的I/0請求很多,但是平均隊列就4,表示這些請求比較均勻,大部分處理還是比較及時

svctm 一般要小于 await (因為同時等待的請求的等待時間被重復計算了),
svctm 的大小一般和磁盤性能有關(guān),CPU/內(nèi)存的負荷也會對其有影響,請求過多
也會間接導致 svctm 的增加。await 的大小一般取決于服務時間(svctm) 以及 
I/O 隊列的長度和 I/O 請求的發(fā)出模式。如果 svctm 比較接近 await,說明 
I/O 幾乎沒有等待時間;如果 await 遠大于 svctm,說明 I/O 隊列太長,應用
得到的響應時間變慢,如果響應時間超過了用戶可以容許的范圍,這時可以考慮
更換更快的磁盤,調(diào)整內(nèi)核 elevator 算法,優(yōu)化應用,或者升級 CPU。

隊列長度(avgqu-sz)也可作為衡量系統(tǒng) I/O 負荷的指標,但由于 avgqu-sz 是
按照單位時間的平均值,所以不能反映瞬間的 I/O 洪水。

使用iostat查看磁盤io狀態(tài)時,Device列顯示了多個dm-xxx,但是不知道具體的設(shè)備路徑。

關(guān)于“iostat如何使用”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI