vmstat
  用途
  報告虛擬內存統計信息。
  語法
  vmstat [ -f ] [ -i ] [ -s ] [ -I ] [ -t ] [ -v ] [ 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)、vmstat(wa)和 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 :係統時間。
  id :CPU 空閑時間。
  wa :CPU 空閑時間,在此期間係統有未完成的磁盤/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 請求的固定內存緩衝區。
  示例
  要顯示引導後的統計信息摘要,請輸入:
  vmstat要顯示 2 秒時間間隔的 5 個摘要,請輸入:
  vmstat 2 5第一次摘要包含引導後的時間統計信息。
  要顯示引導後包括邏輯磁盤 scdisk13 和 scdisk14 的統計信息摘要,請輸入:
  vmstat scdisk13 scdisk14要顯示派生統計信息,請輸入:
  vmstat -f要顯示各事件的計數,請輸入:
  vmstat -s要顯示 vmstat的每一輸出欄旁邊的時間戳記,請輸入:
  vmstat -t要以另一套輸出欄顯示新的 I/O 定嚮視圖,請輸入:
  vmstat -I要顯示所有可用的 VMM 統計信息,請輸入: vmstat -vs文件
  /usr/bin/vmstat 包含 vmstat 命令。
  相關信息
  iostat 和 vmo 命令。
  樣例數據
  [a@localhost]$ vmstat 1
  procs -----------memory---------- ---swap-- -----io---- --system-- ----cpu----
  r b swpd free buff cache si so bi bo in cs us sy id wa
  0 0 160 122976 28668 4337136 0 0 261 315 1 3 1 0 97 2
  0 0 160 122976 28668 4337272 0 0 52 56 1068 163 0 0 99 1
  0 0 160 122912 28668 4337340 0 0 20 60 1059 171 0 0 100 0
  0 0 160 122848 28668 4337408 0 0 112 40 1060 171 0 0 99 1
  0 0 160 122848 28668 4337476 0 0 16 28 1060 166 0 0 100 0