iostat是I/O statistics(輸入/輸出統計)的縮寫,其主要功能是對系統的磁盤I/O操做進行監視。它的輸出主要是顯示磁盤讀寫操做的統計信息,同時也會給出CPU的使用狀況。同vmstat命令同樣,iostat命令也不能對某個進程進行深刻分析,僅會對系統的總體狀況進行分析。
iostat [option] [interval [count]]
1)在iostat命令及後面的選項裏,每一個元素之間都至少要有一個空格。
2)interval 表示兩次輸出之間的間隔時間。
3)count表示按照delay指定的時間間隔統計的次數。
iostat命令的參數選項及說明
-c
顯示CPU的使用狀況
-d 顯示磁盤的使用狀況
-k 每秒以kB爲單位顯示數據
-m 每秒以MB爲單位顯示數據
-n 顯示NFS的使用狀況
-t 顯示每次統計的執行時間
-p device指定要統計的磁盤設備名稱,默認爲全部的磁盤設備
-x 顯示擴展統計
[root@cs6 ~]# iostat
Linux 2.6.32-754.el6.x86_64 (cs6) 2019年05月06日 _x86_64_ (2 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.26 0.00 0.28 0.04 0.00 99.42
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 1.81 58.79 37.24 181198 114780
dm-0 6.02 55.86 37.23 172178 114752
dm-1 0.10 0.78 0.00 2400 0
如下是命令結果說明。
第1~2行中各列的含義具體以下。
%user:用戶進程消耗的CPU時間百分比。
%nice:改變過優先級的進程佔用的CPU時間百分比。
%system:系統(內核)進程消耗的CPU時間百分比。
%iowait:I0等待所佔用的CPU時間百分比。
%steal:虛擬機強制CPU等待的時間百分比。
%idle:CPU處在空閒狀態的時間百分比。
第3~4行中各列的含義以下。
tps:表示該設備每秒的傳輸次數,「一次傳輸」的意思是「一次I/O請求」,多個邏
輯請求可能會被合併爲「一次I/O請求」,「一次傳輸」請求的大小是未知的。
Blk_read/s:表示每秒讀取的數據塊數。
Blk_wrtn/s:表示每秒寫人的數據塊數。
Blkread:表示讀取的全部塊數。
Blk_wrtn:表示寫入的全部塊數。
定時顯示全部信息
[root@cs6 ~]# iostat 2 3
Linux 2.6.32-754.el6.x86_64 (cs6) 2019年05月05日 _x86_64_ (2 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.24 0.00 0.26 0.04 0.00 99.47
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 1.70 51.07 36.11 182710 129196
dm-0 5.70 48.55 36.10 173690 129168
dm-1 0.08 0.67 0.00 2400 0
avg-cpu: %user %nice %system %iowait %steal %idle
0.00 0.00 0.00 0.00 0.00 100.00
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 0.00 0.00 0.00 0 0
dm-0 0.00 0.00 0.00 0 0
dm-1 0.00 0.00 0.00 0 0
avg-cpu: %user %nice %system %iowait %steal %idle
0.00 0.00 0.00 0.00 0.00 100.00
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 0.00 0.00 0.00 0 0
dm-0 0.00 0.00 0.00 0 0
dm-1 0.00 0.00 0.00 0 0
只顯示磁盤統計信息。
[root@cs6 ~]# iostat -d
Linux 2.6.32-754.el6.x86_64 (cs6) 2019年05月05日 _x86_64_ (2 CPU)
Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
sda 1.69 50.88 35.98 182710 129196
dm-0 5.68 48.36 35.97 173690 129168
dm-1 0.08 0.67 0.00 2400 0
[root@cs6 ~]# iostat -d -k
Linux 2.6.32-754.el6.x86_64 (cs6) 2019年05月05日 _x86_64_ (2 CPU)
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 1.63 24.51 17.33 91355 64598
dm-0 5.47 23.30 17.33 86845 64584
dm-1 0.08 0.32 0.00 1200 0
[root@cs6 ~]# iostat -d -m
Linux 2.6.32-754.el6.x86_64 (cs6) 2019年05月05日 _x86_64_ (2 CPU)
Device: tps MB_read/s MB_wrtn/s MB_read MB_wrtn
sda 1.63 0.02 0.02 89 63
dm-0 5.45 0.02 0.02 84 63
dm-1 0.08 0.00 0.00 1 0
查看擴展信息
[root@cs6 ~]# iostat -d -x -k
Linux 2.6.32-754.el6.x86_64 (cs6) 2019年05月05日 _x86_64_ (2 CPU)
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0.28 2.99 0.89 0.39 19.03 13.52 50.97 0.00 1.38 1.23 1.73 0.73 0.09
dm-0 0.00 0.00 0.89 3.38 18.09 13.52 14.82 0.01 2.51 1.89 2.67 0.21 0.09
dm-1 0.00 0.00 0.06 0.00 0.25 0.00 8.00 0.00 0.09 0.09 0.00 0.09 0.00
如下是命令結果說明。
rrqm/s:每秒進行merge的讀操做數目。
wrqm/s:每秒進行merge的寫操做數目。
r/s:每秒完成的讀I/O設備次數。
w/s:每秒完成的寫I/O設備次數。
rkB/s:每秒讀入的千字節數。
wkB/s:每秒寫人的千字節數。
avgrq-sz:設備平均每次進行I/O操做的數據大小(扇區)。
avgqu-sz;平均I/O隊列長度。
await:設備平均每次I/O操做的等待時間(毫秒)。
svctm:設備平均每次1/0操做的服務時間(毫秒)。
%util:每秒鐘用於I/O操做的百分比。
只查看CPU的統計信息
[root@cs6 ~]# iostat -c
Linux 2.6.32-754.el6.x86_64 (cs6) 2019年05月05日 _x86_64_ (2 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.17 0.00 0.19 0.03 0.00 99.60