1. 程式人生 > 實用技巧 >Linux iostat 命令詳解

Linux iostat 命令詳解

簡介:
iostat是I/O statistics(輸入/輸出)統計的縮寫。iostat工具對系統磁碟操作活動進行監控。

安裝:

[root@hankyoon ~]# yum install sysstat

語法:

iostat [選項] [<時間間隔> [次數]]

引數詳解:

-c:僅顯示CPU使用情況
-d:僅顯示裝置利用率
-k:顯示狀態以千位元組每秒為單位,而不使用塊每秒
-m:顯示狀態以兆位元組每秒為單位
-N:顯示任何裝置對映器裝置的註冊裝置對映器名稱。用於檢視LVM2統計資訊。
-n:顯示網路檔案系統(NFS)報告。
-p:僅顯示塊裝置和所有被使用的其他分割槽的狀態
-t:顯示每個報告產生的時間 -V:顯示版本 -x:顯示擴充套件狀態

輸出詳解:

[root@hankyoon ~]# iostat
Linux 2.6.32-754.22.1.el6.x86_64 (10-130-10-74)     09/09/2020     _x86_64_    (40 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.17    0.01    0.41    0.00    0.00   99.40

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda               
1.25 0.23 21.48 6919686 649466207 sdb 4.55 66.16 374.91 1999989896 11333551479 avg-cpu:總體cpu使用情況,對於多核,為所有cpu平均值。重點關注 "%iowait",表示CPU用於等待 IO 請求的時間。 備註: %user: 顯示在使用者級(應用程式)執行時發生的CPU利用率百分比 %nice: 以良好的優先順序顯示在使用者級別執行時發生的CPU利用率百分比 %system:顯示在系統級(核心)執行時發生的CPU利用率百分比
%iowait:顯示當系統有未完成的磁碟I/O請求時,CPU或CPU空閒的時間百分比 %steal: 顯示在虛擬機器監控程式為另一個虛擬pro提供服務時,虛擬CPU或CPU花費的非自願等待時間的百分比實現 %idle: 顯示CPU空閒和系統沒有未完成磁碟I/O請求的時間百分比 Device: 磁碟裝置的IO統計資訊: tps: 每秒傳送到裝置的傳輸數。傳輸是對裝置的I/O請求。 Blk_read/s:每秒從裝置讀取的資料量,以塊數表示。單位KB Blk_wrtn/s:以每秒塊數表示的寫入裝置的資料量。單位KB Blk_read:讀取的塊的總數。單位KB Blk_wrtn:寫入的塊的總數。單位KB

磁碟輸出詳解:

[root@hankyoon ~]# iostat -dx -k 1
Linux 2.6.32-754.22.1.el6.x86_64 (10-130-10-74)     09/09/2020     _x86_64_    (40 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.00     1.17    0.00    1.24     0.11    10.74    17.39     0.00    0.73    2.55    0.72   0.44   0.06
sdb               0.00     0.03    0.28    4.26    33.08   187.45    97.04     0.02    3.58    1.39    3.73   0.54   0.25

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等待個數。

3await 表示每次IO請求等待時間,包括等待時間和處理時間。

4、svctm 表示每次IO請求處理的時間。

5、%util 表示磁碟忙碌情況,一般該值超過80%表示該磁碟可能處於繁忙狀態。