iostat

# iostat
iostat用於輸出CPU和磁盤I/O相關的統計信息. --- 用於報告中央處理器統計信息
# iostat
Linux 2.6.32-431.el6.x86_64 (vm4.cluster.com) 09/17/2017 _x86_64_ (4 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.59 0.00 0.67 0.89 0.00 97.84
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 1.94 57.33 22.14 1714948 662300
scd0 0.00 0.09 0.00 2560 0
說明:
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總數;
----------------------------------------------
iostat命令的參數說明
-c:僅顯示 CPU 統計信息。與 -d 選項互斥。
-d:僅顯示磁盤統計信息。與 -c 選項互斥。
-k:以 KB爲單位顯示每秒的磁盤請求數,默認單位塊。
-m:以MB爲單位顯示每秒的磁盤請求數。
-N:顯示磁盤陣列信息
-n:顯示網絡文件系統NFS報告。此選項僅適用於Linux內核2.6.17以上版本。
-p device | ALL
與 -x 選項互斥,用於顯示塊設備及系統分區的統計信息,也能夠在 -p 後指定一個設備名,如:
# iostat -p hda
或顯示全部設備:
# iostat -p ALL
-t 在輸出數據時,打印收集數據的時間。
-V 打印版本號和幫助信息。
-x 輸出擴展信息。
iostat 2 ----每兩秒顯示全部的分區IO狀態
# iostat /dev/sda* 2 ----每兩秒顯示全部分區的io狀態
# iostat -dx 5
# iostat -kx -d sda 2 3
----查看sda的IO狀態報告,每兩秒打印一次,總共三次 ; -k是表示把默認以每秒多少塊顯示成每次多少KB;-x打印了一些擴展選項
說明:
rrqm/s:每秒的讀請求數 --- 每秒須要讀取需求的數量
wrqm/s:每秒的寫請求數 --- 每秒須要寫入需求的數量
r/s:每秒完成多少個讀IO --- 每秒實際讀取需求的數量
w/s:每秒完成多少個寫IO <-- IOPS=(r/s+w/s) --- 每秒實際寫入需求的數量
rsec/s:每秒讀取了多少扇區的數據。 一個扇區=512字節數據 --- 每秒讀取區段的數量
wsec/s:每秒寫了多少扇區的數據。 --- 每秒寫入區段的數量
rkB/s:每秒讀了多少kb數據 --- 每秒實際讀取的大小,單位爲KB
wkB/s:每秒寫了多少kb數據 --- 每秒實際寫入的大小,單位爲KB
avgrq-sz:平均請求數據的大小 --- 需求的平均大小區段
avgqu-sz:是平均請求隊列的長度。毫無疑問,隊列長度越短越好。 --- 需求的平均隊列長度
await:平均完成IO須要等待多少時間, 包含服務時間,還有在隊列中等待的時間。 --- 等待I/O平均的時間(milliseconds)
svctm:服務時間,從IO請求產生到,完成IO的時間。從源代碼裏能夠看出: --- I/O需求完成的平均時間
(r/s+w/s)*(svctm/1000)=util。
舉例子:若是util達到100%,那麼此時svctm=1000/(r/s+w/s),
假設IOPS是1000,那麼svctm大概在1毫秒左右,若是長時間大於這個數值,
說明系統出了問題。
不過前面已經說過在磁盤陣列等多盤系統中util可能出現偏大的狀況,因此svctm相應的也可
能偏大。
%util:磁盤帶寬使用百分比。若是一直都是100%,說明磁盤很忙。 --- 被I/O需求消耗的CPU百分比
相關文章
相關標籤/搜索