[20171231]iostat -x命令診斷解析.txt

lfree發表於2018-01-02

[20171231]iostat -x命令診斷解析.txt

--//使用iostat診斷IO問題,裡面的一些輸出含義經常忘記,做一個記錄:

輸出資訊的含義

rrqm/s:每秒這個裝置相關的讀取請求有多少被Merge了(當系統呼叫需要讀取資料的時候,VFS將請求發到各個FS,如果FS發現不同的讀
        取請求讀取的是相同Block的資料,FS會將這個請求合併Merge);
wrqm/s:每秒這個裝置相關的寫入請求有多少被Merge了。

rsec/s:每秒讀取的扇區數;
wsec/ :每秒寫入的扇區數。
r/s   : The number of read requests that were issued to the device per second.
w/s   : The number of write requests that were issued to the device per second.
rkB/s : The number of kilobytes read from the device per second.
wkB/s : The number of kilobytes written to the device per second.

avgrq-sz 平均請求扇區的大小
avgqu-sz 是平均請求佇列的長度。毫無疑問,佇列長度越短越好。   
await : 每一個IO請求的處理的平均時間(單位是微秒毫秒)。這裡可以理解為IO的響應時間,一般地系統IO響應時間應該低於5ms,如果
         大於10ms就比較大了。
         這個時間包括了佇列時間和服務時間,也就是說,一般情況下,await大於svctm,它們的差值越小,則說明佇列時間越短,反
         之差值越大,佇列時間越長,說明系統出了問題。
svctm    表示平均每次裝置I/O操作的服務時間(以毫秒為單位)。如果svctm的值與await很接近,表示幾乎沒有I/O等待,磁碟效能很好
         ,如果await的值遠高於svctm的值,則表示I/O佇列等待太長,系統上執行的應用程式將變慢。
%util: 在統計時間內所有處理IO時間,除以總共統計時間。例如,如果統計間隔1秒,該裝置有0.8秒在處理IO,而0.2秒閒置,那麼該
        %裝置的%util = 0.8/1 = 80%,所以該引數暗示了裝置的繁忙程度

一般地,如果該引數是100%表示裝置已經接近滿負荷執行了(當然如果是多磁碟,即使%util是100%,因為磁碟的併發能力,所以磁碟使用
未必就到了瓶頸)。

--//例子:

# iostat  -d -x -k 1 10 | grep sda3
Device:         rrqm/s   wrqm/s   r/s   w/s    rkB/s    wkB/s avgrq-sz avgqu-sz   await  svctm  %util
sda3              0.06     8.25  0.37  3.78    21.51    48.13    33.54     0.07   17.24  11.72   4.86
sda3              0.00     9.90  0.00  5.94     0.00    63.37    21.33     0.08   13.33  13.33   7.92
sda3              0.00     6.00  0.00  3.00     0.00    36.00    24.00     0.04   12.33  12.33   3.70
sda3              0.00    30.00  0.00 25.00     0.00   220.00    17.60     0.23    9.36   9.36  23.40
sda3              0.00     6.00  0.00  5.00     0.00    44.00    17.60     0.08   15.20  15.20   7.60
sda3              0.00     6.00  0.00  4.00     0.00    40.00    20.00     0.05   11.75  11.75   4.70
sda3              0.00    38.00  0.00 14.00     0.00   208.00    29.71     0.13    9.50   9.50  13.30
sda3              0.00     7.00 41.00  7.00   336.00    56.00    16.33     0.27    5.56   5.00  24.00
sda3              0.00     9.00 134.00  5.00  1080.00    44.00    16.17     1.67    5.27   4.31  59.90
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
sda3              0.00    19.00 69.00 37.00   552.00   236.00    14.87     1.82   26.03   4.04  42.80

--//注:應該沒有Device這行輸出,我補上為了檢視方便.

--//%util的計算:

%util =( r/s + w/s ) * svctm /1000 * 100
(134.00+5.00)*4.31/1000*100 = 59.909
(41.00+7.00)*5.00/1000*100 = 24.0000

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2149582/,如需轉載,請註明出處,否則將追究法律責任。

相關文章