iostat——I/O statistics(輸入輸出統計) 1. 作用 實時列出整個CPU與介面設備的I/O狀態。 2. 安裝 iostat屬於sysstat軟體包,可以用yum直接安裝: yum install sysstat 3. 用法 iostat 【參數】【間隔秒數】【檢測次數】 參數:[ ...
iostat——I/O statistics(輸入輸出統計)
1. 作用
實時列出整個CPU與介面設備的I/O狀態。
2. 安裝
iostat屬於sysstat軟體包,可以用yum直接安裝:
yum install sysstat
3. 用法
iostat 【參數】【間隔秒數】【檢測次數】
參數:[-c | -d] [-k | -m] [-t] [-x]
-c:僅顯示CPU的狀態;
-d:僅顯示存儲設備的狀態,不可與-c一起用;
-k:預設顯示的是block單位,這裡可以改成KB為單位;
-m:與-k類似,這裡以MB為單位;
-t:顯示日期;
-x:顯示詳細信息。
4. 範例
4.1 iostat
avg-cpu: 總體cpu使用情況統計信息,對於多核cpu,這裡為所有cpu的平均值
%user:CPU處在用戶模式下的時間百分比。
%nice:CPU處在帶NICE值的用戶模式下的時間百分比。
%system:CPU處在系統模式下的時間百分比。
%iowait:CPU等待輸入輸出完成時間的百分比。
%steal:管理程式維護另一個虛擬處理器時,虛擬CPU的無意識等待時間百分比。
%idle:CPU空閑時間百分比。
備註: 對於cpu統計信息一行,我們主要看iowait的值,它指示cpu用於等待io請求完成的時間。
如果%iowait的值過高,表示硬碟存在I/O瓶頸;%idle值高,表示CPU較空閑;
如果%idle值高但系統響應慢時,有可能是CPU等待分配記憶體,此時應加大記憶體容量。
%idle值如果持續低於10,那麼系統的CPU處理能力相對較低,表明系統中最需要解決的資源是CPU。
Device: 各磁碟設備的IO統計信息
tps:平均每秒的傳輸次數(Indicate the number of transfers per second that were issued to the device),與數據傳輸“次數”有關,非容量。 “一次傳輸”意思是“一次I/O請求”。多個邏輯請求可能會被合併為“一次I/O請求”。“一次傳輸”請求的大小是未知的。
Blk_read/s:開機到現在平均每秒的讀扇區數量(一扇區為512bytes);
Blk_wrtn/s:開機到現在平均每秒的寫扇區數量;
Blk_read:開機到現在總共讀出來的扇區數量;
Blk_wrtn:開機到現在總共寫入的扇區數量。
4.2 iostat -c
僅顯示CPU的狀態:
4.3 iostat -d
僅顯示存儲設備的狀態:
4.4 iostat -k
以KB大小來顯示,相比以扇區數為單位,這裡的值為原值的一半(1KB=512bytes*2):
4.5 iostat -m
以MB大小來顯示:
4.6 iostat -t
顯示時間:
4.7 iostat 2 3
每2秒檢測一次,共檢測3次:
備註:如果有檢測次數的情況,那麼第一次顯示的是從開機到現在的數據,第二次以後所顯示的數據則代表兩次檢測之間的系統傳輸值。
4.8 iostat -x
顯示更詳細的信息:
屬性說明:
rrqm/s:每秒對該設備的讀請求被合併次數,文件系統會對讀取同塊(block)的請求進行合併;
wrqm/s:每秒對該設備的寫請求被合併次數;
r/s:每秒完成的讀次數;
w/s:每秒完成的寫次數;
rsec/s:每秒讀取的扇區數;
wsec/s:每秒寫入的扇區數;
avgrq-sz:平均請求扇區的數量;
avgqu-sz:平均請求隊列的長度,隊列長度越短越好;
await:平均每次IO請求等待時間(包括等待時間和處理時間,毫秒為單位)。這裡可以理解為IO的響應時間,一般地系統IO響應時間應低於5ms,如果大於10ms就比較大了。一般情況下,await大於svctm,它們的差值越小,說明等待時間越短,幾乎沒有I/O等待,磁碟性能很好;反之差值越大,等待時間越長,系統上運行的應用程式變慢;
svctm:平均每次IO請求的處理時間(毫秒為單位);
%util:採樣周期內用於IO操作的時間比率,即IO隊列非空的時間比。例如,如果統計間隔1秒,該設備有0.8秒在處理IO,而0.2秒閑置,那麼該設備的%util = 0.8/1 = 80%,所以該參數暗示了設備的繁忙程度。一般地,如果該參數是100%表示設備已經接近滿負荷運行了(當然如果是多磁碟,即使%util是100%,因為磁碟的併發能力,所以磁碟使用未必就到了瓶頸)。