AIX虛擬內存分頁替換的原理及Oracle數據庫服務器swap空間滿的分析
一、AIX虛擬內存分頁替換的原理如下:
分頁替換守護進程lurd選擇非計算性分頁還是計算性分頁進行替換,主要取決於四個參數:minperm,maxperm,numperm和lru_file_repage。其中前三個參數可以從vmstat -v命令取得,第四個參數可以從vmo命令取得。
參數之間如何配合工作的具體過程,可以參考以下文檔:
http://blog.csdn.net/zhaoyangyao888/article/details/50357754
P570-4LP2:/>vmstat -v
5242880 memory pages
4968434 lruable pages
81520 free pages
8 memory pools
433263 pinned pages
80.0 maxpin percentage
20.0minperm percentage
80.0 maxperm percentage
67.9 numperm percentage
3377373 file pages
0.0 compressedpercentage
0 compressed pages
67.6 numclient percentage
80.0 maxclient percentage
3361895 client pages
0 remote pageouts scheduled
48338 pending disk I/Os blockedwith no pbuf
2795151 paging space I/Os blockedwith no psbuf
2228 filesystem I/Os blockedwith no fsbuf
4207 client filesystem I/Osblocked with no fsbuf
38346 external pager filesystemI/Os blocked with no fsbuf
0 Virtualized PartitionMemory Page Faults
0.00 Time resolving virtualizedpartition memory page faults
二、關於數據庫服務器swap空間滿的分析:
1. 目前的內存參數如下:
P570-4LP2:/> vmo -L minperm% -L maxperm%-L maxclient% -L lru_file_repage
NAME CUR DEF BOOT MIN MAX UNIT TYPE
DEPENDENCIES
--------------------------------------------------------------------------------
lru_file_repage 1 1 1 0 1 boolean D
--------------------------------------------------------------------------------
maxclient% 80 80 80 1 100 % memory D
maxperm%
minperm%
--------------------------------------------------------------------------------
maxperm% 80 80 80 1 100 % memory D
minperm%
maxclient%
--------------------------------------------------------------------------------
minperm% 20 20 20 1 100 % memory D
maxperm%
maxclient%
--------------------------------------------------------------------------------
數據庫的sga包含的分頁屬於工作存儲分頁,是永遠屬於計算性內存分頁的。由於lru_file_repage參數配置爲1,當numperm介於minperm和maxperm之間時,系統會根據重新分頁表的信息決定對那些分頁進行分頁替換,如果非計算性分頁的重新分頁速度比計算性分頁的重新分頁速度高,那麼 AIX 內核將選擇計算性的分頁和非計算性的分頁進行操作。所以在這種情況下有可能將sga分頁替換到swap空間。所以如果將lru_file_repage設置爲0,應該就不會有問題了。