iostat用於輸出CPU和磁盤I/O相關的統計信息
iostat語法
用法:iostat [ 選項 ] [ <時間間隔> [ <次數> ]]
常用選項說明:
-c:只顯示系統CPU統計信息,即單獨輸出avg-cpu結果,不包括device結果 -d:單獨輸出Device結果,不包括cpu結果 -k/-m:輸出結果以kB/mB為單位,而不是以扇區數為單位 -x:輸出更詳細的io設備統計信息 interval/count:每次輸出間隔時間,count表示輸出次數,不帶count表示循環輸出
說明:更多選項使用使用man iostat查看
常用實例
1、iostat,結果為從系統開機到當前執行時刻的統計信息
輸出含義:
avg-cpu: 總體cpu使用情況統計信息,對於多核cpu,這里為所有cpu的平均值。重點關注iowait值,表示CPU用於等待io請求的完成時間。
Device: 各磁盤設備的IO統計信息。各列含義如下:
Device: 以sdX形式顯示的設備名稱 tps: 每秒進程下發的IO讀、寫請求數量 KB_read/s: 每秒從驅動器讀入的數據量,單位為K。 KB_wrtn/s: 每秒從驅動器寫入的數據量,單位為K。 KB_read: 讀入數據總量,單位為K。 KB_wrtn: 寫入數據總量,單位為K。
2、iostat -x -k -d 1 2。每隔1S輸出磁盤IO的詳細詳細,總共采樣2次。
以上各列的含義如下:
rrqm/s: 每秒對該設備的讀請求被合並次數,文件系統會對讀取同塊(block)的請求進行合並 wrqm/s: 每秒對該設備的寫請求被合並次數 r/s: 每秒完成的讀次數 w/s: 每秒完成的寫次數 rkB/s: 每秒讀數據量(kB為單位) wkB/s: 每秒寫數據量(kB為單位) avgrq-sz:平均每次IO操作的數據量(扇區數為單位) avgqu-sz: 平均等待處理的IO請求隊列長度 await: 平均每次IO請求等待時間(包括等待時間和處理時間,毫秒為單位) svctm: 平均每次IO請求的處理時間(毫秒為單位) %util: 采用周期內用於IO操作的時間比率,即IO隊列非空的時間比率
重點關注參數
1、iowait% 表示CPU等待IO時間占整個CPU周期的百分比,如果iowait值超過50%,或者明顯大於%system、%user以及%idle,表示IO可能存在問題。
2、avgqu-sz 表示磁盤IO隊列長度,即IO等待個數。
3、await 表示每次IO請求等待時間,包括等待時間和處理時間
4、svctm 表示每次IO請求處理的時間
5、%util 表示磁盤忙碌情況,一般該值超過80%表示該磁盤可能處於繁忙狀態。
疑惑:dm-0/1/2是什么?怎么來的?
查看磁盤信息:



發現根本沒有dm字樣,那到底怎么來的?
我們根據可以得知:
dm-0、dm-1、dm-2的主設備號是253(是linux內核留給本地使用的設備號),次設備號分別是0、1、2,這類設備在/dev/mapper中

看到dm-0、dm-1、dm-2的詳細設備名后,知道這三個設備是屬於centos邏輯卷組的lvm設備。

這下找到dm的真正含義了~
