Linux基礎命令---iostat顯示裝置狀態

一生有你llx發表於2019-04-03

iostat

iostat 指令用來顯示cpu狀態,系統IO裝置的狀態,以及相關磁碟和NFS使用狀態。iostat命令通過觀察裝置相對於其平均傳輸速率的活動時間來監視系統輸入/輸出裝置負載。iostat命令生成可用於更改系統配置的報告,以更好地平衡物理磁碟之間的輸入/輸出負載。

iostat 命令生成的第一個報告提供了自系統啟動以來的統計資料,除非在省略該第一個報告時使用-y選項。每一份後續報告都涵蓋自上次報告以來的時間。每次執行iostat命令時都會報告所有統計資訊。報告由CPU標題行和CPU統計資料行後面的一行組成。在多處理器系統中,CPU統計資料作為所有處理器之間的平均值計算在系統範圍內.裝置標題行後面顯示配置的每個裝置的一行統計資訊。當使用選項-n時,會顯示NFS標題行,併為每個已掛載的網路檔案系統顯示一行統計資訊。

此命令的適用範圍:RedHat、RHEL、Ubuntu、CentOS、Fedora、SUSE、openSUSE。

 

1 、語法

iostat  [ 選項]

 

2 、選項列表

選項

說明

-c

顯示cpu情況

-d

顯示裝置利用率

-h

配合-n選項使用,讓輸出更加易讀

-j

顯示指定裝置的名字、id、label

-k

以“kb/s”為單位顯示,預設使用“塊/s”為單位

-m

以Mb/s為單位

-N

顯示註冊裝置的對映名字

-n

顯示NFS狀態

-p

顯示塊裝置狀態

-t

顯示報告時間

-x

顯示擴充套件資訊

-V

顯示版本資訊,並且退出

-y

如果在給定間隔內顯示多個記錄,則自系統啟動以來省略帶有統計資訊的第一次報告。

-z

告訴iostat,對於在示例期間沒有活動的任何裝置,都要省略輸出。

 

3 、報告

iostat 命令生成三種型別的報告:CPU利用率報告、裝置使用報告和網路檔案系統報告。

1 )CPU利用率報告

iostat 命令生成的第一個報告是CPU利用率報告。對於多處理器系統,CPU值是所有處理器之間的全域性平均值。報告的格式如下:

報告內容

說明

%user

顯示在使用者級別(應用程式)執行時CPU利用率的百分比。

%nice

以良好的優先順序在使用者級別執行時顯示CPU利用率的百分比。

%system

顯示在系統級(核心)執行時出現的CPU利用率百分比。

%iowait

顯示CPU或CPU空閒的時間百分比,在此期間,系統有未執行的磁碟I/O請求。

%steal

顯示虛擬機器管理程式為另一個虛擬處理器服務時,虛擬CPU或CPU在非自願等待中花費的時間百分比。

%idle

顯示CPU或CPU空閒的時間百分比,並且系統沒有未執行的磁碟I/O請求。

2 )裝置使用報告

iostat 命令生成的第二個報告是裝置使用報告。裝置報告提供每個物理裝置或分割槽的統計資訊。可以在命令列上輸入要顯示統計資訊的塊裝置。如果不使用-x選項,也可以在命令列中輸入分割槽。如果沒有輸入裝置或分割槽,則為系統使用的每個裝置顯示統計資訊,並提供核心為其維護統計資訊。如果在命令列上給出ALL關鍵字,則會顯示系統定義的每個裝置的統計資訊,包括從未使用過的裝置。報告可能會顯示以下欄位,這取決於所使用的標誌

 

報告內容

說明

Device:

該列給出了nth裝置的裝置(或分割槽)名稱,它以devm-n的形式顯示,核心為2.4,其中m是裝置的主要數字,n是一個獨特的數字。對於較新的核心,將顯示/dev目錄中列出的裝置名稱。

tps

指示每秒傳送給裝置的傳輸次數。傳輸是對裝置的I/O請求。多個邏輯請求可以組合成對裝置的單個I/O請求。轉移是不確定的大小。

Blk_read/s

指示從裝置讀取的資料量,以每秒多個塊表示。塊等效於核心2.4及更高版本的扇區,因此其大小為512位元組。對於較老的核,塊的大小是不確定的。

Blk_wrtn/s

指示寫入裝置的資料量,以每秒多個塊表示。

Blk_read

讀入的總塊數

Blk_wrtn

寫入的總塊數

kB_read/s

指示從裝置讀取的資料量,以每秒千位元組表示。

kB_wrtn/s

指示從裝置寫入的資料量,以每秒千位元組表示。

kB_read

讀取的總量,kb

kB_wrtn

寫入的總量,kb

MB_read/s

指示寫入裝置的資料量,以每秒兆位元組表示。

MB_wrtn/s

指示讀取裝置的資料量,以每秒兆位元組表示。

MB_read

讀取的總量,Mb

MB_wrtn

寫入的總量,Mb

rrqm/s

每秒合併到裝置的讀取請求數。

wrqm/s

每秒合併到裝置的寫入請求數。

r/s

每秒向裝置發出的讀取請求數。

w/s

每秒向裝置發出的寫入請求數。

rsec/s

每秒從裝置讀取的扇區數。

wsec/s

每秒從裝置寫入的扇區數。

rkB/s

每秒從裝置讀取的千位元組數。

wkB/s

每秒從裝置寫入的千位元組數。

rMB/s

每秒從裝置讀取的兆位元組數。

wMB/s

每秒從裝置寫入的兆節數。

avgrq-sz

向裝置發出的請求的平均大小(按扇區)

avgqu-sz

向裝置發出的請求的平均佇列長度。

await

向要服務的裝置發出I/O請求的平均時間(毫秒)。這包括請求在佇列中花費的時間和服務它們的時間。

svctm

向裝置發出的I/O請求的平均服務時間(毫秒)。警告!不要再相信這個領域了。此欄位將在以後的sysstat版本中刪除。

%util

向裝置發出I/O請求的CPU時間百分比(裝置的頻寬利用率)。當此值接近100%時,裝置飽和發生。

3 )NFS報告

NetworkFilessystem(NFS) 報告為每個掛載的網路檔案系統提供統計資訊。報告顯示了以下領域:

報告內容

說明

Filesystem:

此列顯示NFS伺服器的主機名,後面是冒號,以及安裝網路檔案系統的目錄名。

rBlk_nor/s

指示應用程式通過Read(2)系統呼叫介面讀取的塊數。塊的大小為512位元組。

wBlk_nor/s

指示應用程式通過寫(2)系統呼叫介面編寫的塊數。塊的大小為512位元組。

rBlk_dir/s

指示從使用O_DIRECT標誌開啟的檔案中讀取的塊數。

wBlk_dir/s

指示寫入使用O_DIRECT標誌開啟的檔案的塊數。

rBlk_svr/s

指示NFS客戶端通過NFS讀取請求從伺服器讀取的塊數。

wBlk_svr/s

指示NFS客戶端通過NFS讀取請求從伺服器寫入的塊數。

rkB_nor/s

指示應用程式通過Read(2)系統呼叫介面讀取的千位元組數。

wkB_nor/s

指示應用程式通過write(2)系統呼叫介面編寫的千位元組數。

rkB_dir/s

指示從使用O_DIRECT標誌開啟的檔案中讀取的千位元組數。

wkB_dir/s

指示寫入到使用O_DIRECT標誌開啟的檔案中的千位元組數。

rkB_svr/s

指示NFS客戶端通過NFS讀取請求從伺服器讀取的千位元組數。

wkB_svr/s

指示NFS客戶端通過NFS讀取請求從伺服器寫入的千位元組數。

rMB_nor/s

指示應用程式通過Read(2)系統呼叫介面讀取的兆位元組數。

wMB_nor/s

指示應用程式通過write(2)系統呼叫介面編寫的兆位元組數。

rMB_dir/s

指示從使用O_DIRECT標誌開啟的檔案中讀取的兆位元組數。

wMB_dir/s

指示寫入到使用O_DIRECT標誌開啟的檔案中的兆位元組數。

rMB_svr/s

指示NFS客戶端通過NFS讀取請求從伺服器讀取的兆位元組數。

wMB_svr/s

指示NFS客戶端通過NFS讀取請求從伺服器寫入的兆位元組數。

ops/s

指示每秒向檔案系統發出的運算元。

rops/s

指示每秒向檔案系統發出的“讀”運算元。

wops/s

指示每秒向檔案系統發出的“寫”運算元。

 

4 、環境變數

iostat 命令考慮了以下環境變數:

S_TIME_FORMAT ,如果存在此變數,且其值為ISO,則在報表標題中列印日期時,將忽略當前區域設定。iostat命令將使用ISO 8601格式(YYYY-MM-DD)。選項-t顯示的時間戳也將符合ISO 8601格式。

 

5 、例子程式碼

iostat

為所有 CPU 和裝置顯示自啟動報告以來的單個歷史記錄

iostat –d 2

以兩秒鐘間隔顯示連續裝置報告

iostat –d 2 6

對所有裝置每隔兩秒鐘播放六次報告

iostat -x hda hdb 2 6

以兩秒鐘的間隔顯示六份擴充套件統計報告,用於裝置 HDA HDB

iostat -p sda 2 6 

為裝置 SDA 及其所有分割槽 (sda 1 ) 以兩秒鐘間隔顯示六個報告。

 

6 、例項

1 )顯示cpu情況

[root@localhost ntop-4.0.1]#  iostat –c                  // 只顯示 cpu 狀態

Linux 2.6.32-431.el6.i686 (localhost.localdomain)    2018 10 10    _i686_ (1 CPU)

 

avg-cpu:  %user   %nice %system %iowait %steal   %idle

           0.17    0.00    0.11    0.04    0.00   99.68

 

You have new mail in /var/spool/mail/root

[root@localhost ntop-4.0.1]# 

2 )顯示nfs系統狀態

[root@localhost ntop-4.0.1]#  iostat -n -h –t               // 顯示 nfs 狀態,要求顯示出時間

Linux 2.6.32-431.el6.i686 (localhost.localdomain)    2018 10 10    _i686_ (1 CPU)

 

2018 10 10  17 34 11

Filesystem:              rBlk_nor/s   wBlk_nor/s   rBlk_dir/s   wBlk_dir/s   rBlk_svr/s   wBlk_svr/s     ops/s   rops/s    wops/s

 

[root@localhost ntop-4.0.1]# 



來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29270124/viewspace-2639150/,如需轉載,請註明出處,否則將追究法律責任。

相關文章