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