AIX內(nèi)存調(diào)整命令簡介
今天,我們來學(xué)習(xí)關(guān)于AIX內(nèi)存的知識(shí)。AIX內(nèi)存管理在不同的操作系統(tǒng)中會(huì)有不同的實(shí)現(xiàn)。AIX 系統(tǒng)使用 VMM(Virtual Memory Manager) 實(shí)現(xiàn)物理內(nèi)存的管理,處理應(yīng)用程序的AIX內(nèi)存分配請(qǐng)求與內(nèi)存回收。
AIX內(nèi)存和交換空間一般都是通過頁面來進(jìn)行分配和管理,VMM 將所有的內(nèi)存段劃分為若干個(gè)頁面,Power4 芯片支持 4K,64K,和 16M 大小的虛擬內(nèi)存頁, Power5 芯片支持 4K,64K,16M,16G 大小的虛擬內(nèi)存頁,每個(gè)頁面的缺省大小是 4KB。虛擬AIX內(nèi)存頁面越大,對(duì)需要大內(nèi)存塊的應(yīng)用程序可以起到優(yōu)化作用,主要是提高 TLB 的命中率。
當(dāng)我們執(zhí)行應(yīng)用程序的時(shí)候,內(nèi)存中的頁面會(huì)被逐漸的占用,這里我們?cè)O(shè)計(jì)兩個(gè)重要的參數(shù): Minfree( 最小空閑頁面的大小 ) 和 Maxfree( 最大空閑頁面的大小 )。當(dāng)空閑的內(nèi)存達(dá)到 Minfree 大小的時(shí)候, VMM 的調(diào)頁算法將被喚醒,將AIX內(nèi)存中的頁面轉(zhuǎn)移到交換空間中, 知道空閑內(nèi)存達(dá)到 Maxfree,才停止調(diào)頁。
上面主要是對(duì)AIX內(nèi)存管理中所涉及到的的基本概念做了簡單的介紹說明,對(duì)于任何與AIX內(nèi)存相關(guān)的操作,了解這些概念都是非常必要的。
系統(tǒng)管理員在進(jìn)行正確的優(yōu)化或者問題發(fā)生之前,必須首先監(jiān)視系統(tǒng),使用合適的工具捕獲基準(zhǔn)數(shù)據(jù),并且知道如何進(jìn)行分析工作。下面筆者將介紹 AIX 系統(tǒng)所提供的工具來監(jiān)控系統(tǒng)內(nèi)存的使用情況。
AIX內(nèi)存調(diào)整命令
與其他的子系統(tǒng)相比,內(nèi)存調(diào)整更為困難,但同時(shí)收到的效果往往更加顯著,特別是在那些尚未對(duì)各種內(nèi)存參數(shù)進(jìn)行優(yōu)化的運(yùn)行環(huán)境中。系統(tǒng)管理員可以通過vmo 命令動(dòng)態(tài)的調(diào)整內(nèi)存參數(shù),進(jìn)行內(nèi)存性能優(yōu)化方面的各種實(shí)踐。
vmo
Vmo 命令用來管理虛擬內(nèi)存可調(diào)試的參數(shù)。例如如果我們發(fā)現(xiàn)空閑AIX內(nèi)存不足, 可以使用下面的命令增加 Minfree 和 Maxfree 參數(shù):
清單 1. 使用 vmo 命令調(diào)整空閑的虛擬內(nèi)存最小和最大值
# vmo – o minfree=1024 – o maxfree=30070
Setting maxfree to 30070
Setting minfree to 1024
注:-p 參數(shù)能夠使修改永久生效,而且立即生效,不需要重啟,下次重啟設(shè)置仍然有效。例如 vmo -p – o minfree=1024 命令能夠永久設(shè)置空閑的虛擬內(nèi)存值為 1024
一般情況下,minfree 和 maxfree 的設(shè)定值可以通過下面的公式計(jì)算得到:
maxfree=minnum(memory/128,128)
minfree=maxfree/8
-a 參數(shù)能夠顯示當(dāng)前所有的內(nèi)存參數(shù)設(shè)置,之后系統(tǒng)管理員可以對(duì)其中的任何參數(shù)進(jìn)行調(diào)整,在此必須說明的是:對(duì)內(nèi)存參數(shù)的任何微小改動(dòng)都有可能造成系統(tǒng)運(yùn)行的不穩(wěn)定,所以系統(tǒng)管理員做的任何修改,都必須非常慎重并且對(duì)可能造成的影響有所了解。
我們對(duì)AIX內(nèi)存調(diào)整命令就介紹到這里了。謝謝大家的閱讀。