linux監測I/O效能-iostat

edwardking888發表於2010-08-27

iostat是I/O statistics(輸入/輸出統計)的縮寫,iostat工具將對系統的磁碟操作活動進行監視。它的特點是彙報磁碟活動統計情況,同時也會彙報出CPU使用情況。同vmstat一樣,iostat也有一個弱點,就是它不能對某個程式進行深入分析,僅對系統的整體情況進行分析。

用法:iostat [ -c | -d ] [ -k ] [ -t ] [ -V ] [ -x [ device ] ] [ interval [ count ] ]

主要選項如下。

-c:顯示CPU的使用情況。

-d:顯示磁碟的使用情況。

-k:表示按千位元組每秒顯示資料。

-t:列印彙報的時間。

-v:表示列印出版本資訊和用法。

-x device:指定要統計的裝置名稱,預設為所有的裝置。

interval:指每次統計間隔的時間,count指按照這個時間間隔統計的次數。

說明:目前Linux計算機系統的主要效能瓶頸在於I/O環節,這主要是由於I/O系統效能的提高遠遠低於CPU和記憶體效能的提高。根據摩爾定律,CPU效能和記憶體容量每18個月就可翻一番。但是作為外存的主要裝置--硬磁碟,由於機械運動的本質特徵導致效能的提高非常有限,每年約7%。這樣可由摩爾定律得出,如今I/O的效能在系統整體效能中佔有舉足輕重的地位。目前優化磁碟效能的各種技術主要側重於如何提高資料傳輸的頻寬,很少有側重於降低延遲的。

應用例項如下。

用iostat -x /dev/dm-0來觀看磁碟I/O的詳細情況:

[root@callcenter ~]# iostat -x /dev/dm-0
Linux 2.6.18-164.el5 (callcenter)       08/27/2010

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          10.37    0.01    0.23    0.54    0.00   88.85

Device:         rrqm/s   wrqm/s   r/s   w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
dm-0              0.00     0.00 15.94 286.77  1312.62  2294.20    11.91     2.08    6.86   0.12   3.73

詳細說明:第二行是系統資訊和監測時間,第三行和第四行顯示CPU使用情況(具體內容和mpstat命令相同)。這裡主要關注後面I/O輸出的資訊,如表4-1所示。

表4-1  iostat輸出

   

   

Device

監測裝置名稱

rrqm/s

每秒需要讀取需求的數量

wrqm/s

每秒需要寫入需求的數量

r/s 

每秒實際讀取需求的數量

w/s

每秒實際寫入需求的數量

rsec/s

每秒讀取區段的數量

wsec/s

每秒寫入區段的數量

rkB/s

每秒實際讀取的大小,單位為KB

wkB/s

每秒實際寫入的大小,單位為KB

avgrq-sz

需求的平均大小區段

avgqu-sz

需求的平均佇列長度

await

等待I/O平均的時間(milliseconds

svctm

I/O需求完成的平均時間

%util

I/O需求消耗的CPU百分比

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

相關文章