怎樣靈活運(yùn)用AIX vmstat
系統(tǒng)管理員除了需要對(duì)特定的進(jìn)程內(nèi)存占用情況跟蹤觀察外,更多的時(shí)候需要監(jiān)控整個(gè)系統(tǒng)的內(nèi)存使用信息。AIX Vmstat 和 svmon 能夠幫助我們輕易的獲得這方面的數(shù)據(jù)。
AIX vmstat
vmstat(Virtual Memory Statistics) 命令能夠幫助我們監(jiān)控內(nèi)核進(jìn)程,虛擬內(nèi)存,磁盤和處理器統(tǒng)計(jì)信息。 它是對(duì)系統(tǒng)的整體情況進(jìn)行統(tǒng)計(jì),不足之處就是無法對(duì)某個(gè)特定進(jìn)程做分析。AIX Vmstat 的輸出可以是以百分比表示的平均值,也可以是其統(tǒng)計(jì)的總和。
如果沒有指定任何的參數(shù),AIX vmstat 將會(huì)輸出系統(tǒng)從開機(jī)啟動(dòng)之后所有的虛擬內(nèi)存活動(dòng)。
我們經(jīng)常使用類似AIX vmstat 5 5 的命令參數(shù),代表著表示在 5 秒時(shí)間做 5 次采樣。
清單 4.AIX vmstat5 5 命令監(jiān)控內(nèi)存資源使用狀況
- System Configuration: lcpu=4 mem=1024MB
- kthr memory page faults cpu
- ----- ----------- ------------------------ ------------ -----------
- r b avm fre re pi po fr sr cy in sy cs us sy id wa
- 0 0 208817 44828 0 0 0 0 0 0 3 60 220 0 0 99 0
- 0 0 208817 44828 0 0 0 0 0 0 2 27 225 0 0 99 0
- 0 0 208817 44828 0 0 0 0 0 0 4 29 219 0 0 99 0
下面將對(duì)輸出的結(jié)果中涉及到的內(nèi)存管理相關(guān)字段進(jìn)行說明:
memory:物理內(nèi)存和虛擬內(nèi)存的使用信息。如果虛擬內(nèi)存被訪問,那么將被認(rèn)為是活動(dòng)的。.
avm 活動(dòng)的虛擬內(nèi)存頁面
fre 空閑內(nèi)存列表的大小。注:很大一部分的實(shí)際內(nèi)存都被用來作為文件系統(tǒng)的緩存用來加快應(yīng)用程序的運(yùn)行速度,所以空閑內(nèi)存大小一般保持在很小的數(shù)值。
page:缺頁異常和分頁活動(dòng)信息。此數(shù)值是間隔時(shí)間內(nèi)的平均值,以秒為單位。
re 頁面調(diào)度輸入 / 輸出列表
pi 從頁面空間輸入的頁面
po 寫入頁面空間的頁面
fr 釋放的頁面
sr 通過頁面替換算法掃描頁面的頻率
cy 頁面替換算法運(yùn)行的時(shí)鐘周期
內(nèi)存的瓶頸問題我們可以通過 sr( 頁面掃描頻率 ) 來觀察,如果掃描頻率過高,始終維持高于 200 頁說明存在內(nèi)存瓶頸,同樣的道理如果 page 項(xiàng)中的 pi( 調(diào)入的頁面數(shù) ) 和 po( 調(diào)出的頁面數(shù) ) 不為 0,說明系統(tǒng)必須經(jīng)常性被動(dòng)的通過頁面的調(diào)入調(diào)出程序來維持系統(tǒng)的穩(wěn)定運(yùn)行,表明也有可能存在內(nèi)存瓶頸。
解決的方法可以通過簡單的增加內(nèi)存或者優(yōu)化設(shè)計(jì)應(yīng)用程序來減少對(duì)內(nèi)存的使用率。AIX vmstat的知識(shí),我們就講解到這里了。
【編輯推薦】