iostat -k 3 5 (以KB為單位,每3秒統計一次,共統計5次)
• avg-cpu: 總體cpu使用情況統計信息,對於多核cpu,這里為所有cpu的平均值
%user 用戶空間占用CPU百分比
%nice 用戶進程空間內改變過優先級的進程占用CPU百分比
%system 內核空間占用CPU百分比
%iowait IO等待占用百分比
%steal 虛擬機占用百分比
%idle 空閑百分比
• Device: 各磁盤設備的IO統計信息
• tps:每秒IO次數
• kB_read/s:每秒從設備(drive expressed)讀取的數據量
• kB_wrtn/s:每秒向設備(drive expressed)寫入的數據量
• kB_read:讀取的總數據量
• kB_wrtn:寫入的總數據量
iostat -x 詳細信息.
rrqm/s:每秒進行merge的讀操作數目。即delta(rmerge)/s
wrqm/s:每秒進行merge的寫操作數目。即delta(wmerge)/s
r/s:每秒完成的讀I/O設備次數。即delta(rio)/s
w/s:每秒完成的寫I/0設備次數。即delta(wio)/s
rsec/s:每秒讀扇區數。即delta(rsect)/s
wsec/s:每秒寫扇區數。即delta(wsect)/s
rKB/s:每秒讀K字節數。是rsec/s的一半,因為每扇區大小為512字節
wKB/s:每秒寫K字節數。是wsec/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) !!!svctm越接近於await則說明等待時間少
%util:一秒中有百分之多少的時間用於I/O操作,或者說一秒中有多少時間I/O隊列是非空的。80%表示設備已經很忙了,即delta(usr)/s/1000(因為use的單位為毫秒)
重點指標:r/s,w/s,avgqu-sz,await,svctm,%util
性能判斷依據:
1、%util很大 超過80%
2、await遠大於svctm
3、avgqu-sz 隊列很長
4、r/s,w/s,IO讀寫次數頻繁
5、IO等待時間占用百分比大 %iowait
iowait% <20% 良好
iowait% <35% 一般
iowait% >50%
6、svctm一般要小於await(因為同時等待的請求的等待時間被重復計算了),svctm的大小一般和磁盤性能有關,CPU/內存的負荷也會對其有影響,請求過多也會間接導致svctm的增加。
7、await的大小一般取決於服務時間(svctm)以及I/O隊列的長度和I/O請求的發出模式。如果svctm比較接近await,說明I/O幾乎沒有等待時間;
8、如果await遠大於svctm,說明I/O隊列太長,應用得到的響應時間變慢,如果響應時間超過了用戶可以容許的范圍,這時可以考慮更換更快的磁盤,調整內核elevator算法,優化應用,或者升級CPU