1. 程式人生 > 實用技巧 >aix記憶體管理實踐

aix記憶體管理實踐

最近,領導看到一臺aix的主機記憶體利用率99.9%,頗為震驚,讓我查查。在此記錄。

一、檢查主機資源的概況

命令:topas

wKiom1dWXD6Dxb3CAAEUe7iBp9g059.jpg-wh_50

這裡看到計算空間的記憶體只佔用了54%,沒有使用到分頁paging space。所以初步斷定沒有記憶體的瓶頸問題。

命令:svmon -G

wKiom1dWXTeBp5KMAABSl2C8v6k165.jpg-wh_50

看到記憶體的分片是4K,有7330個分片空閒,那麼空閒記憶體是7330*4K = 28M

當然也可以看svmon -P檢視每個程序的記憶體佔用情況。

因為為了提高 I/O 效能,如果應用程式或核心沒有明確請求的話,AIX會用盡可能多的空閒記憶體進行檔案快取。


二、檢視記憶體管理

命令:vmstat

wKioL1dWYDvTPv4yAAC7-OZeK5o135.jpg-wh_50

這裡kthr表示kernel thread其中的r表示在一個cpu時間片中的執行緒數。b表示阻塞(等待)這裡都是0,表示程序情況良好。

memory記憶體狀態:avm是active virtual pages實際使用的記憶體 2833902*4k = 11069M;該記憶體和total的20G記憶體顯然不是99.9%的關係。

paging space還是沒有使用。

faults的值略微高,in表示device interrupts, sy表示system call,cs表示kernel thread context switches.

cpu利用情況:m 沒有wait

命令:nmon,進入nmon後輸入m

wKiom1dWYvnDHSPZAACl_5aRw3A086.jpg-wh_50

最後在filesystemcache看到了99.9%的問題,系統因為IO頻繁,系統將記憶體作為了檔案的快取,檔案系統實際佔用了44.8%的記憶體,造成了記憶體使用率99.9%。


參考文章:http://www.ibm.com/developerworks/cn/aix/library/au-memory_issue/


轉載於:https://blog.51cto.com/bestlanzi/1786921