(轉)vmstat 命令

mahanso發表於2011-01-13

用途

報告虛擬記憶體統計資訊。

語法

vmstat [ ] [  ] [ ] [  ] [  ] [  ] [ PhysicalVolume ... ] [ Interval [ Count ] ]

描述

vmstat 命令報告關於核心執行緒、虛擬記憶體、磁碟、陷阱和 CPU 活動的統計資訊。由 vmstat 命令生成的報告可以用於平衡系統負載活動。系統範圍內的這些統計資訊(所有的處理器中)都計算出以百分比表示的平均值,或者計算其總和。

如果呼叫 vmstat 命令時不帶標誌,則報告包含系統啟動後虛擬記憶體活動的摘要。如果指定 -f 標誌,則 vmstat 命令報告自從系統啟動後派生的數量。PhysicalVolume 引數指定物理卷的名稱。

Interval 引數指定每個報告之間的時間量(以秒計)。第一個報告包含系統啟動後時間的統計資訊。後續報告包含自從前一個報告起的時間間隔過程中所收集的統計資訊。如果沒有指定 Interval 引數,vmstat 命令生成單個報告然後退出。Count 引數只能和 Interval 引數一起指定。如果指定了 Count 引數,其值決定生成的報告數目和相互間隔的秒數。如果 Interval 引數被指定而沒有 Count 引數,則連續生成報告。Count 引數不允許為 0。

在 AIX 4.3.3 及更新版本包含有此方法的增強,用於計算 CPU 等待磁碟 I/O 所花時間(wio 時間)的百分比。某些情況下,AIX 4.3.2 以及該作業系統更早的版本中使用的該方法在 SMP 上會給出誇張的 wio 時間報告。

AIX 4.3.2 和更早版本中使用的方法如下:在每個處理器的每一次時鐘中斷(每個處理器一秒鐘 100 次),確定上一個 10 毫秒時間要歸入四種類別(usr/sys/wio/idle)中的哪一個。如果在時鐘中斷的時候,CPU 正忙於 usr 方式,那麼 usr 將獲取該時鐘週期新增到其類別中。如果在時鐘中斷的時候,CPU 正忙於核心方式,那麼 sys 類別獲取該時鐘週期。如果 CPU 不忙的話,則檢測是否有磁碟 I/O 正在進行。如果有任何正在進行的磁碟 I/ O,則累加 wio 類別。如果沒有磁碟 I/O 正在進行且 CPU 不忙,則 idle 類別獲取該時鐘週期。由於所有的空閒 CPU 都被歸入 wio 類別,而不管正在等待 I/O 的執行緒數量,所以會產生誇大的 wio 時間報告。例如,只有一個 I/O 執行緒的系統可能會報告 90% 以上的 wio 時間,而不管它擁有的 CPU 數量。sar%wio)、vmstatwa)和 iostat% iowait)命令報告 wio 時間。

作業系統 AIX 4.3.3 及其更新版本使用的方法如下:如果一個未完成的 I/O 在空閒的 CPU 上啟動,則作業系統 AIX 4.3.3 中的更改將只把該 CPU 標記成 wio。當只有少量執行緒在進行 I/O 而系統其它部分是空閒的,此方法能報告低得多的 wio 時間。例如,一個有四個 CPU 和一個正在進行 I/O 的執行緒的系統將報告最多 25% 的 wio 時間。有 12 個 CPU 和一個正在進行 I/O 的執行緒的系統只報告最大為 8% 的 wio 時間。NFS 客戶機透過 VMM 讀取/寫入,biods 在 VMM 中花費的等待 I/O 完成的時間現在報告為 I/O 等待時間。

核心為核心執行緒、調頁和中斷活動維護統計資訊,vmstat 命令透過使用perfstat 核心擴充套件來對其進行訪問。磁碟輸入/輸出統計資訊由裝置驅動程式維護。對於磁碟,利用活動時間和傳送資訊數量來確定平均傳送速率。活動時間的百分數根據報告期間驅動器忙的時間量來計算。

由 vmstat 命令生成的以下報告示例包含欄標題及其描述:

kthr:核心執行緒狀態在取樣間隔期間每秒鐘更改一次。

r置於執行佇列中的核心執行緒數目。
b置於等待佇列(等待資源、等待輸入/輸出)的核心執行緒數目。

記憶體:關於使用虛擬記憶體和實記憶體的資訊。如果虛擬頁已經被訪問的話,虛擬頁可以被認為是活動的。一頁為 4096 個位元組。

avm活動虛擬頁。
fre空閒列表的大小。
注:
大部分實記憶體都用作檔案系統資料的快取記憶體。對於保持較小的空閒列表,這是很正常的。

:關於缺頁故障和調頁活動的資訊。這些是間隔的平均值,以秒為單位給出。

re頁面排程程式輸入/輸出列表。
pi從調頁空間排程進的頁面。
po調出到調頁空間的頁面。
fr釋放的頁(頁面替換)。
sr透過頁替換演算法掃描的頁面。
cy按頁替換演算法的時鐘週期。

故障:取樣間隔平均每秒的捕獲和中斷率。

in裝置中斷
sy系統呼叫。
cs核心執行緒上下文切換。

Cpu:CPU 使用時間故障百分比。

us使用者時間。
sy系統時間。
idCPU 空閒時間。
waCPU 空閒時間,在此期間系統有未完成的磁碟/NFS I/O 請求。請參閱上面的詳細描述。

磁碟:每秒向指定物理卷提供的傳送數目,該過程在取樣間隔中發生。PhysicalVolume 引數可以用於指定一到四個名稱。每個指定驅動器的傳送統計資訊按指定順序給出。該計數代表向物理裝置的請求數。它並不暗示讀取或寫入的資料量。幾個邏輯請求可以組合成為一個物理請求。

如果指定一個 -I 標誌,I/O 定向檢視將會出現以下欄目變化。

kthr除了欄 r 和 b之外,欄 p 也將顯示。p每秒等待實際物理 I/O 的執行緒數。
將顯示新欄 fi 和 fo,代替 re 和 cy 欄。fi每秒調入的檔案。fo每秒調出的檔案。

標誌

注:
如果在命令列中輸入了 -f(或 -s)標誌,系統將僅接受 -f(或 -s)標誌,將忽略其它標誌。如果同時指定了 -f 和 -s 標誌,系統將僅接受第一個標誌,忽略第二個標誌。
-f報告從系統啟動後的派生數目。
-i顯示從系統啟動後每個裝置造成的中斷數目。
-I用新的輸出欄顯示 I/O 定向檢視,p 在標題 kthr 下;欄 fi 和 fo 在標題頁面下,而不是欄下;re 和 cy 在頁標題中。
-s將總數結構中的內容寫入到標準輸出,該結構包含從系統初始化後調頁事件的絕對計數。-s 標誌只能與 -v 標誌一起使用。如下描述了這些事件:地址翻譯錯誤每次發生地址轉換頁面故障時增加。解決頁面故障可能需要 I/O,也可能不需要。儲存保護頁面故障(失去鎖定)不包含在此計數之內。入頁隨虛擬記憶體管理器讀入的每頁增加。計數隨調頁空間和檔案空間的入頁增加。它和出頁統計資訊一起表示實際 I/O(由虛擬記憶體管理器啟動)的總量。出頁隨虛擬記憶體管理器寫出的每頁增加。計數隨調頁空間和檔案空間的出頁而增加。它和入頁統計資訊一起表示實際 I/O(由虛擬記憶體管理器啟動)的總量。調頁空間入頁只隨 VMM 啟動的來自調頁空間的入頁而增加。調頁空間出頁只隨 VMM 啟動的來自調頁空間的出頁而增加。總回收當不啟用一個新的 I/O 請求也可以滿足地址翻譯錯誤時增加。如果頁面以前已經被 VMM 請求過的,但是 I/O 還沒有完成;或者頁面被預讀演算法提前提取,但是被故障段隱藏了;或者如果頁面已經被放入空閒列表中,但還沒有重新使用,則會發生此情況。零填充頁面故障如果頁面故障針對的是工作儲存器,且可以透過指定一個幀並以零填充幀來滿足它的話,則該值增加。可執行填充頁面故障隨著每個指令頁面故障而增加。用時鐘檢查頁面VMM 利用時鐘演算法實施偽最近最少使用(1ru)的頁面替換模式。時鐘檢查過的頁面是 aged。為每個時鐘檢查過的頁面增加此計數值。時鐘指標的轉動隨著每次 VMM 時鐘旋轉而增加(即在每一次完整的記憶體掃描後)。用時鐘釋放的頁面隨著時鐘演算法從實記憶體中選擇釋放的每一個頁面而增加。
 回溯隨著解決前一個頁面故障時出現的每一個頁面故障而增加。(必須首先解決新的頁面故障,然後可以回溯到最初的頁面故障。)鎖定丟失VMM 透過除去對頁面的定址能力來強制併發性鎖定。鎖定丟失可能產生一個頁面故障,每當此類情況發生時,此計數增加。空閒幀等待在收集可用幀時,每次 VMM 等待一個程式時增加。擴充套件 XPT 等待每次正在進行提交而使得 VMM 等待一個程式時,隨著正在被訪問的段而增加。暫掛 I/O 等待每次 VMM 等待一個程式時隨著要完成的入頁 I/O 而增加。啟動 I/O隨著每個被 VMM 啟動的讀取或寫入 I/O 請求而增加。此計數應該與入頁和出頁的總數相等。iodones在每次完成 VMM I/O 請求時增加。CPU 上下文交換隨著每次 CPU 上下文交換而增加(新程式的分派)。裝置中斷每次硬體中斷時增加。軟體中斷每次軟體中斷時增加。一次軟體中斷是一個類似於硬體中斷(儲存一些狀態和伺服器例程分支)的機器指令。系統呼叫用軟體中斷指令來完成,該指令轉換控制到系統呼叫處理程式例程。陷阱不透過作業系統來維護。syscalls隨著每次系統呼叫而增加。
-t列印 vmstat 的每一輸出行旁邊的時間戳記。時間戳記按照 HH:MM:SS 格式顯示。
注:
如果指定了 -f-s 或 -i 標誌,將不列印時間戳記。
-v將虛擬記憶體管理器維護的不同統計資訊寫入標準輸出。-v 標誌只能與 -s 標誌一起使用。記憶體頁實記憶體的大小(以 4 KB 的頁面數目計)。lruable 頁要用於替換的 4 KB 頁面的數目。此數目不包含被用於 VMM 內部頁和用於核心文字的固定部分的頁面。空閒頁面空閒 4 KB 頁面的數目。記憶體池指定記憶體池數目的調整引數(使用 vmo 管理)。固定頁面固定的 4 KB 頁面的數目。maxpin 百分比指定能被固定的實記憶體百分數的調整引數(使用 vmo 管理)。minperm 百分比實記憶體百分比的調整引數(使用 vmo 管理)。它指定一臨界點,低於此臨界點時阻止頁面重新排程演算法使用檔案頁面。maxperm 百分比實記憶體百分比的調整引數(使用 vmo 管理)。它指定一臨界點,高於此臨界點時頁面取走演算法只取走檔案頁面。numperm 百分比當前由檔案快取記憶體使用的記憶體百分數。檔案頁面當前由檔案快取記憶體使用的 4 KB 頁面的數目。壓縮百分比由壓縮頁面使用的記憶體百分數。壓縮頁面壓縮記憶體頁面的數目。numclient 百分數被客戶機頁面佔用的記憶體百分數。maxclient 百分數指定能用於客戶機頁面的最大記憶體百分數的調整引數(使用 vmo 管理)。客戶機頁面客戶機頁面的數目。已排程的遠端出頁排程用於客戶機檔案系統的出頁的數目。無 pbuf 而阻塞的暫掛磁碟 I/O沒有可用 pbuf 而阻塞的暫掛磁碟 I/O 請求的數目。Pbuf 是用於儲存邏輯卷管理器層上的 I/O 請求的固定的記憶體緩衝區。無 psbuf 而阻塞的調頁空間 I/O沒有可用 psbuf 而阻塞的調頁空間 I/O 請求的數目。Psbuf 是用於儲存虛擬記憶體管理器層上的 I/O 請求的固定記憶體緩衝區。
-v(由 -v顯示的統計資訊,接上頁):無 fsbuf 而阻塞的檔案系統 I/O沒有可用 fsbuf 而阻塞的檔案系統 I/O 請求的數目。Fsbuf 是用於儲存檔案系統層上的 I/O 請求的固定記憶體緩衝區。無 fsbuf 而阻塞的客戶機檔案系統 I/O沒有可用 fsbuf 而阻塞的客戶機檔案系統 I/O 請求的數目。NFS(網路檔案系統)和 VxFS(Veritas)是客戶機檔案系統。Fsbuf 是用於儲存檔案系統層上的 I/O 請求的固定記憶體緩衝區。無 fsbuf 而阻塞的外部頁面排程程式檔案系統 I/O沒有可用 fsbuf 而被阻塞的外部頁面排程程式客戶機檔案系統 I/O 請求的數目。JFS2 是一個外部頁面排程程式客戶機檔案系統。Fsbuf 是用於儲存檔案系統層上的 I/O 請求的固定記憶體緩衝區。

示例

  1. 要顯示引導後的統計資訊摘要,請輸入:
    vmstat
  2. 要顯示 2 秒時間間隔的 5 個摘要,請輸入:
    vmstat 2 5

    第一次摘要包含引導後的時間統計資訊。

  3. 要顯示引導後包括邏輯磁碟 scdisk13 和 scdisk14 的統計資訊摘要,請輸入:
    vmstat scdisk13 scdisk14
  4. 要顯示派生統計資訊,請輸入:
    vmstat  
  5. 要顯示各事件的計數,請輸入:
    vmstat -s
  6. 要顯示 vmstat的每一輸出欄旁邊的時間戳記,請輸入:
    vmstat -t
  7. 要以另一套輸出欄顯示新的 I/O 定向檢視,請輸入:
    vmstat -I
  8. 要顯示所有可用的 VMM 統計資訊,請輸入:
    vmstat -vs

檔案

/usr/bin/vmstat包含 vmstat 命令。

相關資訊

 和  命令。

文章出處:http://blog.csdn.net/eroswang/archive/2007/09/16/1787438.aspx

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

相關文章