【AIX 學習】效能優化--vmstat

楊奇龍發表於2010-09-10

vmstat 命令報告關於核心執行緒、虛擬記憶體、磁碟、陷阱和 CPU 活動的統計資訊。由 vmstat 命令生成的報告可以用於平衡系統負載活動。系統範圍內的這些統計資訊(所有的處理器中)都計算出以百分比表示的平均值,或者計算其總和。
如果呼叫 vmstat 命令時不帶標誌,則報告包含系統啟動後虛擬記憶體活動的摘要。如果指定 -f 標誌,則 vmstat 命令報告自從系統啟動後派生的數量。PhysicalVolume 引數指定物理卷的名稱。
Interval 引數指定每個報告之間的時間量(以秒計)。如果沒有指定 Interval 引數,vmstat 命令生成包含有自系統啟動以來的統計資訊的單個報告然後退出。Count 引數只能和 Interval 引數一起指定。如果指定了 Count 引數,其值決定生成的報告數目和相互間隔的秒數。如果指定 Interval 引數而沒有指定 Count 引數,則連續生成報告。Count 引數不允許為 0。


---要顯示引導後的統計資訊摘要:
ufserver[/]#vmstat
System Configuration: lcpu=4 mem=3920MB
kthr    memory              page              faults        cpu   
----- ----------- ------------------------ ------------ -----------
 r  b   avm   fre  re  pi  po  fr   sr  cy  in   sy  cs us sy id wa
 1  1 546986 305375   0   0   0   1   19   0   7 2997 508  1  1 98  0
關於核心執行緒狀態的 kthr: 資訊。
r 取樣時間間隔內的平均可執行核心執行緒數。可執行是指處於預備狀態但等待執行的執行緒,以及已經在執行的執行緒。
b 取樣時間間隔內的置於 VMM 等待佇列(等待資源、等待輸入/輸出)的平均核心執行緒數。
記憶體 memory:關於使用虛擬記憶體和實記憶體的資訊。如果虛擬頁已經被訪問的話,虛擬頁可以被認為是活動的頁面。一頁為 4096 個位元組。
avm 活動虛擬頁。
fre 空閒列表的大小。
注:
大部分實記憶體都用作檔案系統資料的快取記憶體。對於保持較小的空閒列表,這是很正常的。
頁 page:關於缺頁故障和調頁活動的資訊。這些是間隔的平均值,以秒為單位給出。
re 頁面排程程式輸入/輸出列表。
pi 從調頁空間排程進的頁面。
po 調出到調頁空間的頁面。
fr 釋放的頁(頁面替換)。
sr 通過頁替換演算法掃描的頁面。
cy 按頁替換演算法的時鐘週期。
故障 faults:取樣間隔平均每秒的捕獲和中斷率。
in 裝置中斷
sy 系統呼叫。
cs 核心執行緒上下文切換。
Cpu:CPU 使用時間故障百分比。
us 使用者時間。
sy 系統時間。
id CPU 空閒時間。
wa CPU 空閒時間,在此期間系統有未完成的磁碟/NFS I/O 請求。請參閱上面的詳細描述。
pc 消耗的物理處理器數。僅當使用共享處理器執行分割槽時才顯示。
ec 消耗的授權容量百分比。僅當使用共享處理器執行分割槽時才顯示。因為計算該資料所依賴的時基可以變化,所以授權容量百分比可能有時會超過 100%。該超過現象僅在小取樣時間間隔時顯得尤為突出。

磁碟 disk xfer :每秒向指定物理卷提供的傳送數目,該過程在取樣間隔中發生。PhysicalVolume 引數可以用於指定一到四個名稱。每個指定驅動器的傳送統計資訊按指定順序給出。該計數代表向物理裝置的請求數。它並不暗示讀取或寫入的資料量。幾個邏輯請求可以組合成為一個物理請求。如果使用了 PhysicalVolume 引數,則在命令執行的開始列印物理卷名稱。
--要顯示 2 秒時間間隔的 5 個摘要:
ufserver[/]#vmstat 2 5
System Configuration: lcpu=4 mem=3920MB
kthr    memory              page              faults        cpu   
----- ----------- ------------------------ ------------ -----------
 r  b   avm   fre  re  pi  po  fr   sr  cy  in   sy  cs us sy id wa
 0  0 546958 305403   0   0   0   0    0   0   5 2574 729  1  1 99  0
 0  0 546958 305403   0   0   0   0    0   0   8 2432 727  1  1 99  0
 0  0 547086 305275   0   0   0   0    0   0  12 5982 702  2  2 96  0
 0  0 547005 305356   0   0   0   0    0   0   5 2363 587  1  1 99  0
 0  0 547005 305356   0   0   0   0    0   0   6 2753 586  1  1 99  0

----要顯示引導後包括邏輯磁碟 hdisk0 和 hdisk1 的統計資訊摘要:
ufserver[/]#vmstat hdisk0 hdisk1
System configuration: lcpu=4 mem=3920MB drives=3
kthr    memory              page              faults        cpu      disk xfer
----- ----------- ------------------------ ------------ ----------- -----------
 r  b   avm   fre  re  pi  po  fr   sr  cy  in   sy  cs us sy id wa  1  2  3  4
 1  1 547061 305300   0   0   0   1   19   0   7 2997 508  1  1 98  0  0  0  -  -
ufserver[/]#vmstat hdisk0
System configuration: lcpu=4 mem=3920MB drives=3
kthr    memory              page              faults        cpu      disk xfer
----- ----------- ------------------------ ------------ ----------- -----------
 r  b   avm   fre  re  pi  po  fr   sr  cy  in   sy  cs us sy id wa  1  2  3  4
 1  1 546963 305397   0   0   0   1   19   0   7 2997 508  1  1 98  0  0  -  -  -

---要顯示派生統計資訊:
ufserver[/]#vmstat -f
              1321380 forks

---要顯示各事件的計數:
ufserver[/]#vmstat -s
            688544634 total address trans. faults
              3333967 page ins
             18677519 page outs
                78267 paging space page ins
               191702 paging space page outs
                    0 total reclaims
            279623431 zero filled pages faults
                18658 executable filled pages faults
             39724067 pages examined by clock
                   46 revolutions of the clock hand
              3664060 pages freed by the clock
             10874914 backtracks
                  238 free frame. waits
                    0 extend XPT waits
               261675 pending I/O waits
             22008658 start I/Os
              3103421 iodones
           1011062654 cpu context switches
             14951473 device interrupts
             99590678 software interrupts
            847510213 decrementer interrupts
               104853 mpc-sent interrupts
               104853 mpc-received interrupts
               339269 phantom interrupts
                    0 traps
           5957816239 syscalls
----要顯示 vmstat 的每一輸出欄旁邊的時間戳記:
 
ufserver[/]#vmstat -t
System Configuration: lcpu=4 mem=3920MB
kthr    memory              page              faults        cpu       time 
----- ----------- ------------------------ ------------ ----------- --------
 r  b   avm   fre  re  pi  po  fr   sr  cy  in   sy  cs us sy id wa hr mi se
 1  1 547050 312235   0   0   0   1   20   0   7 2997 508  1  1 98  0 15:14:58

---要以另一套輸出欄顯示 I/O 定向檢視:
ufserver[/]#vmstat -I
System Configuration: lcpu=4 mem=3920MB
  kthr     memory              page              faults        cpu   
-------- ----------- ------------------------ ------------ -----------
 r  b  p   avm   fre  fi  fo  pi  po  fr   sr  in   sy  cs us sy id wa
 1  1  0 547051 305368   1   9   0   0   1   20   7 2997 508  1  1 98  0

要顯示所有可用的 VMM 統計資訊:
ufserver[/]#vmstat -vs
            688555942 total address trans. faults
              3333968 page ins
             18721908 page outs
                78267 paging space page ins
               191702 paging space page outs
                    0 total reclaims
            279628354 zero filled pages faults
                18658 executable filled pages faults
             39852998 pages examined by clock
                   46 revolutions of the clock hand
              3685603 pages freed by the clock
             10875080 backtracks
                  238 free frame. waits
                    0 extend XPT waits
               261676 pending I/O waits
             22053048 start I/Os
              3104815 iodones
           1011350314 cpu context switches
             15085751 device interrupts
             99592347 software interrupts
            847528659 decrementer interrupts
               104856 mpc-sent interrupts
               104856 mpc-received interrupts
               339279 phantom interrupts
                    0 traps
           5958323666 syscalls
              1003520 memory pages
               960185 lruable pages
               313797 free pages
                    1 memory pools
               216257 pinned pages
                 80.0 maxpin percentage
                  5.0 minperm percentage
                 15.0 maxperm percentage
                 14.0 numperm percentage
               134485 file pages
                  0.0 compressed percentage
                    0 compressed pages
                 14.0 numclient percentage
                 15.0 maxclient percentage
               134485 client pages
                    0 remote pageouts scheduled
               153417 pending disk I/Os blocked with no pbuf
               152426 paging space I/Os blocked with no psbuf
                 2228 filesystem I/Os blocked with no fsbuf
                 6131 client filesystem I/Os blocked with no fsbuf
                  245 external pager filesystem I/Os blocked with no fsbuf
                    0 Virtualized Partition Memory Page Faults
                 0.00 Time resolving virtualized partition memory page faults

s 將總數結構中的內容寫入到標準輸出,該結構包含從系統初始化後調頁事件的絕對計數。-s 標誌只能與 -v 標誌一起使用。如下描述了這些事件:
地址翻譯錯誤
每次發生地址轉換頁面故障時增加。解決頁面故障可能需要 I/O,也可能不需要。儲存保護頁面故障(失去鎖定)不包含在此計數之內。
入頁
隨虛擬記憶體管理器讀入的每頁增加。計數隨調頁空間和檔案空間的入頁增加。它和出頁統計資訊一起表示實際 I/O(由虛擬記憶體管理器啟動)的總量。
出頁
隨虛擬記憶體管理器寫出的每頁增加。計數隨調頁空間和檔案空間的出頁而增加。它和入頁統計資訊一起表示實際 I/O(由虛擬記憶體管理器啟動)的總量。
調頁空間入頁
只隨 VMM 啟動的來自調頁空間的入頁而增加。
調頁空間出頁
只隨 VMM 啟動的來自調頁空間的出頁而增加。
總回收
當不啟用一個新的 I/O 請求也可以滿足地址翻譯錯誤時增加。如果頁面以前已經被 VMM 請求過,但是 I/O 還沒有完成;或者頁面被預讀演算法提前提取,但是被故障段隱藏了;或者如果頁面已經被放入空閒列表中,但還沒有重新使用,則會發生此情況。
零填充頁面故障
如果頁面故障針對的是工作儲存器,且可以通過指定一個幀並以零填充幀來滿足它的話,則該值增加。
可執行填充頁面故障
隨著每個指令頁面故障而增加。
用時鐘檢查頁面
VMM 利用時鐘演算法實施偽最近最少使用(1ru)的頁面替換模式。時鐘檢查過的頁面是 aged。為每個時鐘檢查過的頁面增加此計數值。
時鐘指標的轉動
隨著每次 VMM 時鐘旋轉而增加(即在每一次完整的記憶體掃描後)。
用時鐘釋放的頁面
隨著時鐘演算法從實記憶體中選擇釋放的每一個頁面而增加。  
回溯
隨著解決前一個頁面故障時出現的每一個頁面故障而增加。(必須首先解決新的頁面故障,然後可以回溯到最初的頁面故障。)
空閒幀等待
在收集可用幀時,每次 VMM 等待一個程式時增加。
擴充套件 XPT 等待
每次正在進行提交而使得 VMM 等待一個程式時,隨著正在被訪問的段而增加。
暫掛 I/O 等待
每次 VMM 等待一個程式時隨著要完成的入頁 I/O 而增加。
啟動 I/O
隨著每個被 VMM 啟動的讀取或寫入 I/O 請求而增加。此計數應該與入頁和出頁的總數相等。
iodones
在每次完成 VMM I/O 請求時增加。
CPU 上下文交換
隨著每次 CPU 上下文交換而增加(新程式的分派)。
裝置中斷
每次硬體中斷時增加。
軟體中斷
每次軟體中斷時增加。一次軟體中斷是一個類似於硬體中斷(儲存一些狀態和伺服器例程分支)的機器指令。系統呼叫用軟體中斷指令來完成,該指令轉換控制到系統呼叫處理程式例程。
decrementer 中斷
每次 decrementer 中斷時增加。
mpc 傳送中斷
每次 mpc 傳送中斷時增加。
mpc 接收中斷
每次 mpc 接收中斷時增加。
幻象讀取中斷
每次幻象讀取中斷時增加。
陷阱
不通過作業系統來維護。
syscalls
隨著每次系統呼叫而增加。
 

---要以 8 秒為時間間隔顯示“大頁面”部分(包含 alp 和 flp 列):
ufserver[/]#vmstat -l 8
System Configuration: lcpu=4 mem=3920MB
kthr    memory              page              faults        cpu     large-page
----- ----------- ------------------------ ------------ ----------- -----------
 r  b   avm   fre  re  pi  po  fr   sr  cy  in   sy  cs us sy id wa   alp   flp
 0  0 547092 334672   0   0   0   0    0   0 172 3212 871  1  1 98  0     0     0
 1  0 547112 336250   0   0   0   0    0   0 170 4121 877  1  1 98  0     0     0
 0  0 547095 339024   0   0   0   0    0   0 173 4063 871  1  1 98  0     0     0
 0  1 547078 342568   0   0   0   0    0   0 170 3952 877  1  2 92  6     0     0
 0  0 547077 344536   0   0   0   0    0   0 172 3001 859  1  1 98  0     0     0
 0  0 547059 347513   0   0   0   0    0   0 170 4012 877  1  1 98  0     0     0
 1  0 547094 349030   0   0   0   0    0   0 181 4147 873  1  1 98  0     0     0
 0  0 547097 350561   0   0   0   0    0   0 177 4207 881  1  1 98  0     0     0
 1  0 547169 351954   0   0   0   0    0   0 174 4297 877  1  1 98  0     0     0
 0  0 547080 354313   0   0   0   0    0   0 169 3217 868  1  1 98  0     0     0
 2  0 547070 356333   0   0   0   0    0   0 171 4146 883  1  2 97  0     0     0
 1  0 547062 358706   0   0   0   0    0   0 172 4088 876  1  1 98  0     0     0
 0  1 547068 359198   0   0   0   0    0   0 175 4028 866  1  1 96  2     0     0

---要顯示指定到特定頁面大小(在該示例中,4K)的 VMM 統計資訊:
ufserver[/]#vmstat -p 4k
System Configuration: lcpu=4 mem=3920MB
kthr    memory              page              faults        cpu   
----- ----------- ------------------------ ------------ -----------
 r  b   avm   fre  re  pi  po  fr   sr  cy  in   sy  cs us sy id wa
 1  1 547599 336356   0   0   0   1   20   0   7 2997 508  1  1 98  0
psz   avm   fre  re  pi  po  fr   sr  cy     siz
4K 439728 271635   0   0   0   1   20   0  830928

--要顯示系統支援的所有頁面大小的 VMM 統計資訊:
ufserver[/]#vmstat -p ALL
System Configuration: lcpu=4 mem=3920MB
kthr    memory              page              faults        cpu   
----- ----------- ------------------------ ------------ -----------
 r  b   avm   fre  re  pi  po  fr   sr  cy  in   sy  cs us sy id wa
 1  1 547635 336320   0   0   0   1   20   0   7 2997 508  1  1 98  0
  psz   avm   fre  re  pi  po  fr   sr  cy     siz
   4K 439764 271599   0   0   0   1   20   0  830928
  64K  6742  4045   0   0   0   0    0   0   10787

--要僅顯示特定頁面大小(在該示例中,4K)的 VMM 統計資訊:
  64K    10787     6742     4045     0     0     0     0      0     0
ufserver[/]#vmstat -P 4K
System configuration: mem=3920MB
pgsz            memory                           page                
----- -------------------------- ------------------------------------
           siz      avm      fre    re    pi    po    fr     sr    cy
   4K   830928   439805   289194     0     0     0     1     20     0

---要僅顯示所有受支援的頁面大小的 VMM 統計資訊中每一頁的故障資訊:
ufserver[/]#vmstat -P ALL
System configuration: mem=3920MB
pgsz            memory                           page                
----- -------------------------- ------------------------------------
           siz      avm      fre    re    pi    po    fr     sr    cy
   4K   830928   439763   271600     0     0     0     1     20     0
  64K    10787     6742     4045     0     0     0     0      0     0

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

相關文章