iostat是I/O statistics(輸入/輸出統計)的縮寫,iostat工具將對系統的磁盤操作活動進行監視。它的特點是匯報磁盤活動統計情況,同時也會匯報出 CPU使用情況。同vmstat一樣,iostat也有一個弱點,就是它不能對某個進程進行深入分析,僅對系統的整體情況進行分析。
iostat的語法如下:
iostat [ -c | -d ] [ -k ] [ -t ] [ -V ] [ -x [ device ] ] [ interval [ count ] ]
其中,-c為匯報CPU的使用情況;-d為匯報磁盤的使用情況;-k表示每秒按kilobytes字節顯示數據;-t為打印匯報的時間;-v表示打印出版本信息和用法;-x device指定要統計的設備名稱,默認為所有的設備;interval指每次統計間隔的時間;count指按照這個時間間隔統計的次數。
$iostat?-x?1
Linux?2.6.33-fukai?(fukai-laptop)??????????_i686_????(2?CPU)
avg-cpu:??%user???%nice?%system?%iowait??%steal???%idle
5.47????0.50????8.96???48.26????0.00???36.82
Device:?????????rrqm/s???wrqm/s?????r/s?????w/s???rsec/s???wsec/s?avgrq-sz?avgqu-sz???await??svctm??%util
sda???????????????6.00???273.00???99.00????7.00??2240.00??2240.00????42.26?????1.12???10.57???7.96??84.40
sdb???????????????0.00?????4.00????0.00??350.00?????0.00??2068.00?????5.91?????0.55????1.58???0.54??18.80
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的單位為毫秒)
如果?%util?接近?100%,說明產生的I/O請求太多,I/O系統已經滿負荷,該磁盤可能存在瓶頸。