iostat 監視I/O子系統

iostat用於輸出CPU和磁盤I/O相關的統計信息
命令參數ios

-C 顯示CPU使用狀況
-d 顯示磁盤使用狀況
-k 以 KB 爲單位顯示
-m 以 M 爲單位顯示
-N 顯示磁盤陣列(LVM) 信息
-n 顯示NFS 使用狀況
-p[磁盤] 顯示磁盤和分區的狀況
-t 顯示終端和CPU的信息
-x 顯示詳細信息
-V 顯示版本信息express

iostat 監視I/O子系統

avg-cpu段:
%user: 在用戶級別運行所使用的CPU的百分比.
%nice: nice操做所使用的CPU的百分比.
%sys: 在系統級別(kernel)運行所使用CPU的百分比.
%iowait: CPU等待硬件I/O時,所佔用CPU百分比.
%idle: CPU空閒時間的百分比.併發

Device段:
tps: 每秒鐘發送到的I/O請求數.
Blk_read /s: 每秒讀取的block數.
Blk_wrtn/s: 每秒寫入的block數.
Blk_read: 讀入的block總數.
Blk_wrtn: 寫入的block總數.ide

iostat 監視I/O子系統

參數 -d 表示,顯示設備(磁盤)使用狀態;-k某些使用block爲單位的列強制使用Kilobytes爲單位;2表示,數據顯示每隔2秒刷新一次。性能

tps:該設備每秒的傳輸次數(Indicate the number of transfers per second that were issued to the device.)。"一次傳輸"意思是"一次I/O請求"。多個邏輯請求可能會被合併爲"一次I/O請求"。"一次傳輸"請求的大小是未知的。優化

kB_read/s:每秒從設備(drive expressed)讀取的數據量;
kB_wrtn/s:每秒向設備(drive expressed)寫入的數據量;
kB_read:讀取的總數據量;
kB_wrtn:寫入的總數量數據量;這些單位都爲Kilobytes。blog

iostat 監視I/O子系統

iostat還有一個比較經常使用的選項-x,該選項將用於顯示和io相關的擴展數據。隊列

rrqm/s:每秒這個設備相關的讀取請求有多少被Merge了(當系統調用須要讀取數據的時候,VFS將請求發到各個FS,若是FS發現不一樣的讀取請求讀取的是相同Block的數據,FS會將這個請求合併Merge);
wrqm/s:每秒這個設備相關的寫入請求有多少被Merge了。
rsec/s:每秒讀取的扇區數;
wsec/s:每秒寫入的扇區數。
rKB/s:The number of read requests that were issued to the device per second;
wKB/s:The number of write requests that were issued 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%,由於磁盤的併發能力,因此磁盤使用未必就到了瓶頸)。requests

備註:若是 %util 接近 100%,說明產生的I/O請求太多,I/O系統已經滿負荷,該磁盤可能存在瓶頸。若是 svctm 比較接近 await,說明 I/O 幾乎沒有等待時間;若是 await 遠大於 svctm,說明I/O 隊列太長,io響應太慢,則須要進行必要優化。若是avgqu-sz比較大,也表示有當量io在等待。it

使用頻率高命令:iostat -d -k 1 10 #查看TPS和吞吐量信息(磁盤讀寫速度單位爲KB)iostat -d -m 2 #查看TPS和吞吐量信息(磁盤讀寫速度單位爲MB)iostat -d -x -k 1 10 #查看設備使用率(%util)、響應時間(await) iostat -c 1 10 #查看cpu狀態

相關文章
相關標籤/搜索