生產環境下遇到的aix內存問題分析

應用服務器從源庫中讀取數據再導入到目標數據庫,已經好幾天執行失敗了,從程序的日誌中能夠看到SQL30081N的錯誤,運程服務器已經中斷鏈接,今天發現db2diag.log首次報出了OS級別的ErrorSIGNALDANGER,網上說是page space不足了。通過學習aix的內存機制,寫下心得:數據庫

 

Aix經過頁來管理內存 VMM的職責緩存

頁映射物理地址,也映射虛擬內存服務器

Page space(虛擬內存,交換空間)是用來存放暫時不須要CPU處理的數據的地方。安裝系統時自動規定邏輯卷hd6存放page spaceide

先把頁分2種,工做存儲分頁(邏輯數據,進程數據,堆棧,共享內存,內核數據)性能

進程要退出時釋放掉學習

若被修改過,須要頁交換時(爲其餘進程等讓位置),放到page spacespa

              永久存儲分頁(文件數據,緩存在內存中的文件)日誌

若被修改過,須要交換時,寫入到文件系統中,若未修改,直接拋棄orm

永久存儲分頁進程

分爲客戶端client  JFS2文件系統   如今文件系統都爲JFS2

     非客戶端 JFS 文件系統

 

以上是根據緩存的類型分出的頁面淘汰方式

 

Aix有本身的頁面類型標準以下:

計算型:comp    ———————— 都是工做存儲分頁   工做存儲分頁也都是計算型的

非計算性(也被稱爲文件型)noncomp :正在進行讀取 寫入的文件數據

注:永久存儲分頁能夠使計算型的,也能夠是非計算型的

 

涉及到的查詢系統性能命令

#lsps –a

#svmon 虛擬內存快照

#vmstat

#topas

能夠發現以下關係 顏色相同爲同樣的:

# svmon -G

               size                 inuse        free         pin     virtual

memory      8388608(物理內存)     8162617      225991      666479     2540070

pg space    1048576        7317

 

               work        pers        clnt       other

pinin use的子集,固定的)   236541          0           0      429938

in use      2539866(工做存儲分頁)           0     5622751(客戶端分頁數)

# lsps -a

Page Space      Physical Volume   Volume Group    Size %Used Active  Auto  Type

hd6             hdisk0            rootvg        4096MB     1   yes   yes    lv

# vmstat

 

System Configuration: lcpu=8 mem=32768MB

 

kthr    memory              page              faults        cpu   

----- ----------- ------------------------ ------------ -----------

 r  b   avm   fre  re  pi  po  fr   sr  cy  in   sy  cs us sy id wa

 1  1 2540111 226003   0   0   0   3    7   0 127 14803 1163  3  1 96  0

 

Avm含義是什麼呢

官方解釋:

Memory: information about the usage of virtual and real memory. Virtual pages are considered active if they have been accessed. A page is 4096 bytes.
       avm   Active virtual pages.
       fre     Size of the free list. Note: A large portion of real memory is utilized as a cache for file system data. It is not unusual for the size of the free list to remain small.

系統中avm大約9.6G9.6G怎麼來的呢?avm 列顯示了訪問的全部虛擬內存,即便它沒有被調出。該頁映射到了memory,同時也映射到了page space。因此它比4G還大。

 

# vmstat –v中也看出

71.1 numperm percentage非計算性分頁的數目佔得挺高

71.1 numclient percentage

5612632 client pages

 

 

參考資料:http://www.ibm.com/developerworks/cn/aix/library/au-cn-pagingspace/

參考資料中命令topas有介紹noncomp使用率的問題

 

總結下:系統中文件內存仍是偏大的,從topas中能夠看出,性能分析命令也能夠看得出來,aix系統認爲內存閒着也沒用,當緩存使吧,程序中斷後,也沒釋放,下次再導入數據時aix不會那麼傻吧,除了必要的頁換到pagespace,爲了更大的內存,應該會拋棄沒必要要的頁吧,如今打算增大pagespace,去看看程序運行如何。

相關文章
相關標籤/搜索