您好,登錄后才能下訂單哦!
語法
iostat [ -a ] [ -l ] [ -s ] [-t ] [ -T ] [ -z ] [ { -A [ -P ] [ -q | -Q ] } | { -d |-D [-R ] }[ -m ] [ Drives ... ] [ Interval] [ Count ]
描述
iostat 命令用來監視系統輸入/輸出設備負載,這通過觀察與它們的平均傳送速率相關的物理磁盤的活動時間來實現。iostat 命令生成的報告可以用來更改系統配置來更好地平衡物理磁盤和適配器之間的輸入/輸出負載。
每次運行 iostat 命令時,就報告所有的統計信息。報告由 tty and CPU 標題行以及接下來的 tty 或 異步 I/O 和 CPU 統計信息行組成。在多處理器系統上,CPU 統計信息是系統范圍計算的,是所有處理器的平均值。
帶有系統中當前活動的 CPU 數量和活動的磁盤數量的眉行顯示在輸出結果的開始部分。如果指定 -s 標志,則顯示系統眉行,接下來的一行是整個系統的統計信息。系統主機名顯示在系統眉行中。
如果指定 -a 標志,就會顯示一個適配器頭行,隨后是一行適配器的統計信息。這后面將回有一個磁盤頭行和連接到適配器的所有磁盤/CD-ROM 的統計信息。為所有與系統連接的磁盤適配器生成這種報告。
顯示一個磁盤頭行,隨后是一行配置的磁盤的統計信息。如果指定 PhysicalVolume 參數,則只顯示那些指定的名稱。
如果指定 PhysicalVolume 參數,則可以指定一個或者更多的字母或者字母數字的物理卷。如果指定 PhysicalVolume 參數,就會顯示 tty 和 CPU 報告并且磁盤報告包含指定驅動器的統計信息。如果沒有發現指定邏輯驅動器名,則報告將列出指定的名稱并且顯示沒有找到驅動器的消息。如果沒有指定邏輯驅動器名,報告則包含所有已配置的磁盤和 CD-ROM 的統計信息。如果系統上沒有配置驅動器,則不生成磁盤報告。PhysicalVolume 參數中的第一個字符不能為數字型。
Interval 參數指定了在每個報告之間的以秒計算的時間量。如果沒有指定 Interval 參數,iostat 命令將生成一個包含統計信息的報告,該統計信息是在系統啟動(引導)時間里生成的。 Count 參數可被指定來連接 Interval 參數。如果指定了 Count 參數,它的記數值就確定在 Interval 秒間生成的報告數。如果指定了 Interval 參數但沒有指定 Count 參數,iostat 命令就會不斷生成報告。
iostat 命令用來確定一個物理卷是否正在形成一個性能瓶頸,以及是否有可能改善這種情況。物理卷的 % 使用率字段表明了文件活動在驅動器中分布多均勻。物理卷的高 % 使用率是表明也許存在這個資源的爭用很好的征兆。由于 CPU 使用率的統計信息同樣適用于 iostat 報告,CPU 在 I/O 等待隊列中的時間的百分比可以在同一時間確定。如果 I/O 等待時間是有效數字并且磁盤使用率不是在卷上均勻分布,則就要考慮在驅動器上分布數據。
從 AIX 5.3 開始,iostat 命令報告在 微分區 環境中所消耗的物理處理器數量(physc)和所消耗的授權百分比(% entc)。這些度量值只在 微分區 環境上顯示。
注:
在為 iostat 命令維護磁盤 I/O 歷史中,消耗一部分系統資源。使用 sysconfig 子例程,或者系統管理接口工具(SMIT)來停止歷史記錄帳戶。當 iostat 命令正為 Count 迭代運行時,并且如果系統配置中有影響 iostat 命令輸出的更改,則它會顯示關于配置更改的警告消息。顯示更新后的系統配置信息和標題后,它接著繼續進行輸出。
報告
iostat 命令生成四種類型的報告,tty 和 CPU 使用率報告、磁盤使用率報告、系統吞吐量報告和適配器吞吐量報告。
tty 和 CPU 使用率報告
由 iostat 命令生成的第一份報告是 tty 和 CPU 使用率報告。對于多處理器系統,CPU 值是所有處理器的總平均。同時,I/O 等待狀態是系統級定義的,而不是每個處理器。報告有以下格式:
欄 描述
tin 顯示了系統為所有 tty 讀取的字符總數。
tout 顯示了系統為所有 tty 寫入的字符總數。
% user 顯示了在用戶級(應用程序)執行時生成的 CPU 使用率百分比。
% sys 顯示了在系統級(內核)執行時生成的 CPU 使用率百分比。
% idle 顯示了在 CPU 空閑并且系統沒有未完成的磁盤 I/O 請求時的時間百分比。
% iowait 顯示了 CPU 空閑期間系統有未完成的磁盤 I/O 請求時的時間百分比。
physc 消耗的物理處理器的數量,僅當分區與共享處理器運行時顯示。
% entc 消耗的標題容量的百分比,僅當分區與共享處理器運行時顯示。
每過一定時間間隔,內核就更新這條信息(一般每秒六十次)。tty 報告提供了從系統中所有終端的收到的每秒字符總數,以及和每秒輸出到系統所有終端的字符的總數。
用來計算 CPU 磁盤 I/O 等待時間的方法
操作系統 V4.3.3 和后來的版本包含用來估算 CPU 在磁盤 I/O(wio 時間)等待上的所花時間的百分比的增強方法。用在 AIX 4.3.2 和操作系統的早期版本上的方法在一定條件下,能夠給出 SMP 上的 wio 時間的一個放大的視圖。wio 時間是根據命令 sar(%wio)、 vmstat(wa)和 iostat(% iowait)報告出來的。
在 AIX 4.3.2 中和早期版本中使用的方法如下:在每個處理器(每處理器一秒一百次)的每個時鐘中斷上,將確定四個類別(usr/sys/wio/idle)中的哪一個放置在最后的 10ms 內。如果在時鐘中斷的時刻 CPU 以 usr 模式中處于忙狀態,則 usr 獲得這個時間計點并歸于此類。如果在時鐘中斷時刻 CPU 以內核模式中處于忙狀態,則 sys 類別將獲得該計時點。如果 CPU 不處于忙狀態,將檢查是否在進行任何磁盤 I/O。如果在進行任何磁盤 I/O,則 wio 類別將增加。如果磁盤在進行 I/O 操作并且 CPU 不忙,則 idle 類別將獲取計時點。wio 時間的放大視圖是由于所有空閑 CPU 被歸為 wio 而不管在 I/O 上等待的線程數所導致。例如,僅有一個線程執行 I/O 的系統可以報告超過 90% 的 wio 時間而不管其 CPU 數。
在 AIX 4.3.3 中和后繼版本中使用的方法如下:如果在那個 CPU 上啟動一個未完成的 I/O,則操作系統 V4.3.3 中的更改僅把一個空閑 CPU 標為 wio。當只有少數線程正在執行 I/O 否則系統就空閑的情況下,這種方法可以報告更少的 wio 時間。例如,一個有四個 CPU 且只有一個線程執行 I/O 的系統將報告一個最大值是 25% 的 wio 時間。一個有 12 個 CPU 且僅有一個線程執行 I/O 的系統將報告一個最大值為 8% 的 wio 時間。 NFS 客戶機通過 VMM 讀/寫,并且為了完成一個 I/O 而在 vmm 等待中用的時間現在將被報告為 I/O 等待時間。
磁盤使用率報告
由 iostat 命令生成的第二個報告是磁盤使用率報告。磁盤報告提供了在每個物理磁盤基礎上的統計信息。缺省報告有與以下類似的格式:
% tm_act 表示物理磁盤處于活動狀態的時間百分比(驅動器的帶寬使用率)。
Kbps 表示以 KB 每秒為單位的傳輸(讀或寫)到驅動器的數據量。
tps 表示每秒鐘輸出到物理磁盤的傳輸次數。一次傳輸就是一個對物理磁盤的 I/O 請求。多個邏輯請求可被并為對磁盤的一個單一 I/O 請求。傳輸具有不確定的大小。
Kb_read 讀取的 KB 總數。
Kb_wrtn 寫入的 KB 總數。
如果指定了 -D 標志,則報告有以下度量值:
與磁盤傳送(xfer)有關的度量值:
% tm_act 表示物理磁盤處于活動狀態的時間百分比(驅動器的帶寬使用率)。
bps 表示每秒傳輸(讀或寫)到驅動器的數據量。使用不同的后綴來代表傳送單位。缺省單位是字節/秒。
tps 表示每秒鐘輸出到物理磁盤的傳輸次數。一次傳輸就是一個對物理磁盤的 I/O 請求。多個邏輯請求可被并為對磁盤的一個單一 I/O 請求。傳輸具有不確定的大小。
bread 表示每秒從驅動器上讀取的數據量。使用不同的后綴來代表傳送單位。缺省單位是字節/秒。
bwrtn 表示每秒寫入到驅動器的數據量。使用不同的后綴來代表傳送單位。缺省單位是字節/秒。
磁盤讀取服務度量值(讀取):
rps 表示每秒讀取傳輸的數量。
avgserv 表示每次讀取傳輸的平均服務時間。使用不同的后綴來代表時間單位。缺省單位是毫秒。
minserv 表示最少的讀取服務時間。使用不同的后綴來代表時間單位。缺省單位是毫秒。
maxserv 表示最多的讀取服務時間。使用不同的后綴來代表時間單位。缺省單位是毫秒。
timeouts 表示每秒讀取超時的數量。
fails 表示每秒失敗的讀取請求的數量。
磁盤寫入服務度量值(寫入):
wps 表示每秒寫入傳輸的數量。
avgserv 表示每次寫入傳輸的平均服務時間。使用不同的后綴來代表時間單位。缺省單位是毫秒。
minserv 表示最少的寫入服務時間。使用不同的后綴來代表時間單位。缺省單位是毫秒。
maxserv 表示最多的寫入服務時間。使用不同的后綴來代表時間單位。缺省單位是毫秒。
timeouts 表示每秒寫入超時的數量。
fails 表示每秒失敗的寫入請求的數量。
磁盤等待隊列服務度量值(隊列):
avgtime 表示傳輸請求在等待隊列中所花的平均時間。使用不同的后綴來代表時間單位。缺省單位是毫秒。
mintime 表示傳輸請求在等待隊列中所花的最短時間。使用不同的后綴來代表時間單位。缺省單位是毫秒。
maxtime 表示傳輸請求在等待隊列中所花的最長時間。使用不同的后綴來代表時間單位。缺省單位是毫秒。
avgwqsz 表示等待隊列的平均大小。
avgsqsz 表示服務隊列的平均大小。
sqfull 表示每秒內服務隊列變滿(即,磁盤不再接受任何服務請求)的次數。
代表不同說明單元的后綴圖注
后綴 描述
K 1000 字節
M 1 000 000 字節(如果以 xfer 度量值顯示)。分鐘(如果以讀取/寫入/等待服務度量值顯示)。
G 1 000 000 000 字節。
T 1 000 000 000 000 字節。
S 秒。
H 小時。
注:
對于不支持服務時間度量值的驅動器,將不顯示讀取、寫入和等候隊列服務度量值。
CD-ROM 設備的統計信息也要報告。
系統吞吐量報告
如果指定 -s 標志將生成這個報告。這份報告提供了整個系統的統計信息。這份報告有以下格式:
Kbps 表示了每秒以 KB 為單位的傳輸(讀或寫)到整個系統的數據量。
tps 表示每秒傳輸到整個系統的傳輸次數。
Kb_read 從整個系統中讀取的 KB 總數。
Kb_wrtn 寫到整個系統的 KB 總數。
適配器吞吐量報告
如果指定 -a 標志將生成該報告。這份報告提供了以每個適配器(包括物理適配器和虛擬適配器)為基礎的統計信息。該報告對于物理適配器報告具有以下格式:
Kbps 表示每秒鐘以 KB 為單位的傳輸到(讀或寫)到適配器的數據量。
tps 表示每秒鐘輸出到適配器的傳輸次數。
Kb_read 從適配器讀取的 KB 總數。
Kb_wrtn 寫到適配器的 KB 總數。
虛擬適配器的缺省吞吐量報告有以下格式:
Kbps 表示每秒鐘以 KB 為單位的傳輸到(讀或寫)到適配器的數據量。
tps 表示每秒鐘輸出到適配器的傳輸次數。
bkread 每秒從托管服務器接收至該適配器的塊數。
bkwrtn 每秒從該適配器發送至托管服務器的塊數。
partition-id 托管服務器的分區標識,它為該適配器發送的請求提供服務。
虛擬適配器的擴展吞吐量報告(-D 選項)有以下格式:
與傳送(xfer:)有關的度量值
Kbps 表示每秒鐘以 KB 為單位的傳輸到(讀或寫)到適配器的數據量。
tps 表示每秒鐘輸出到適配器的傳輸次數。
bkread 每秒從托管服務器接收至該適配器的塊數。
bkwrtn 每秒從該適配器發送至托管服務器的塊數。
partition-id 托管服務器的分區標識,它為該適配器發送的請求提供服務。
適配器讀取服務度量值(讀取:)
rps 表示每秒讀取請求的數量。
avgserv 表示為已發送的讀取請求從托管服務器上接收響應的平均時間。使用不同的后綴來代表時間單位。缺省單位是毫秒。
minserv 表示為已發送的讀取請求從托管服務器上接收響應的最短時間。使用不同的后綴來代表時間單位。缺省單位是毫秒。
maxserv 表示為已發送的讀取請求從托管服務器上接收響應的最長時間。使用不同的后綴來代表時間單位。缺省單位是毫秒。
適配器寫入服務度量值(寫入:)
wps 表示每秒寫入請求的數量。
avgserv 表示為已發送的寫入請求從托管服務器上接收響應的平均時間。使用不同的后綴來代表時間單位。缺省單位是毫秒。
minserv 表示為已發送的寫入請求從托管服務器上接收響應的最短時間。使用不同的后綴來代表時間單位。缺省單位是毫秒。
maxserv 表示為已發送的寫入請求從托管服務器上接收響應的最長時間。使用不同的后綴來代表時間單位。缺省單位是毫秒。
適配器等待隊列度量值(隊列:)
avgtime 表示傳輸請求在等待隊列中所花的平均時間。使用不同的后綴來代表時間單位。缺省單位是毫秒。
mintime 表示傳輸請求在等待隊列中所花的最短時間。使用不同的后綴來代表時間單位。缺省單位是毫秒。
maxtime 表示傳輸請求在等待隊列中所花的最長時間。使用不同的后綴來代表時間單位。缺省單位是毫秒。
avgwqsz 表示等待隊列的平均大小。
avgsqsz 表示服務隊列的平均大小。
sqfull 表示每秒內服務隊列變滿(即,托管服務器不再接受任何服務請求)的次數。
代表不同說明單元的后綴圖注
后綴 描述
K 1000 字節。
M 1 000 000 字節(如果以 xfer 度量值顯示)。分鐘(如果以讀取/寫入/等待服務度量值顯示)。
G 1 000 000 000 字節。
T 1 000 000 000 000 字節。
S 秒。
H 小時。
異步 I/O 報告
異步 I/O 報告有以下列標題:
avgc 指定時間間隔的每秒平均全局 AIO 請求計數。
avfc 指定時間間隔的每秒平均快速路徑請求計數。
maxgc 上一次訪存這個值以來的最大全局 AIO 請求計數。
maxfc 上一次訪存這個值以來的最大快速路徑請求計數。
maxreqs 所允許的最大 AIO 請求數。
磁盤輸入/輸出歷史記錄
為了提高性能,已經禁用了磁盤輸入/輸出統計信息的收集。要啟用該數據的集合,請輸入:
chdev -l sys0 -a iostat=true
要顯示當前設置,請輸入:
lsattr -E -l sys0 -a iostat
如果禁用了磁盤輸入/輸出歷史記錄的收集,并且在不帶時間間隔的情況下調用了 iostat,則 iostat 輸出將顯示消息自引導以來的磁盤歷史記錄不可用,而不是磁盤統計信息。
標志
-a 指定適配器吞吐量報告。
-A 顯示指定時間間隔和計數的 AIO 統計信息。
-d 只指定驅動器報告。
-D 只指定擴展驅動器報告。
-l 對長列表方式顯示輸出。缺省列寬是 80。
-m 指定路徑的統計信息。
-P 與 -A 選項相同,使用 POSIX AIO 調用獲取的數據除外。
-q 指定 AIO 隊列和它們的請求計數。
-Q 顯示所有安裝的文件系統和相關的隊列數以及它們請求計數的列表。
-R 指定在每個時間間隔都應復位 min* 和 max* 值。缺省情況下將僅在 iostat 啟動時執行一次復位。
-s 指定系統吞吐量報告。
-t 只指定 tty/cpu 報告。
-T 指定時間戳記。
-z 復位磁盤輸入/輸出統計信息。只有 root 用戶才可以使用此選項。
注:
-q 或 -Q 只能與 -A 一起指定。
-a 和 -s 也可以與 -A 一起指定,但在指定了-q 或 -Q 時不能與 -A 一起指定。
-t 和 -d 不能同時指定。
-t 和 -D 不能同時指定。
-d 和 -D 不能同時指定。
-R 只能和 -D 一起指定。
示例
要為所有 tty、CPU 和磁盤顯示引導后的單一歷史記錄報告,請輸入:
iostat
要為邏輯名是 disk1 的磁盤顯示一個以兩秒為時間間隔的持續磁盤報告,請輸入:
iostat -d disk1 2
要為邏輯名是 disk1 的磁盤顯示以兩秒為時間間隔的六個報告,請輸入:
iostat disk1 2 6
要為所有磁盤顯示以兩秒為時間間隔的六個報告,請輸入:
iostat -d 2 6
要為三個名稱分別為 disk1、disk2、disk3 的磁盤顯示以兩秒為時間間隔的六個報告,請輸入:
iostat disk1 disk2 disk3 2 6
要打印系統引導以來的系統吞吐量報告,請輸入:
iostat -s
要打印以五秒為時間間隔的適配器吞吐量報告,請輸入:
iostat -a 5
要打印以二十秒為時間間隔的十個系統和適配器吞吐量報告,且僅帶有 tty 和 CPU 報告(沒有磁盤報告),請輸入:
iostat -sat 20 10
要打印帶有 hdisk0 和 hdisk7 的磁盤使用率報告的系統和適配器吞吐量報告(每 30 秒一次),請輸入:
iostat -sad hdisk0 hdisk7 30
要顯示 iostat 輸出的每行的下一行的時間戳記,請輸入:
iostat -T 60
要顯示關于 AIO 的以兩秒為時間間隔的六個報告,請輸入:
iostat -A 2 6
要顯示自引導以來與所有已安裝的文件系統相關的隊列的 AIO 統計信息,請輸入:
iostat -A -Q
要顯示所有磁盤的擴展驅動器報告,請輸入:
iostat -D
要顯示某個特定磁盤的擴展驅動器報告,請輸入:
iostat –D hdisk0
要復位磁盤輸入/輸出統計信息,請輸入:
iostat –z
文件
/usr/bin/iostat 包含 iostat 命令。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。