生产环境下遇到的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,去看看程序运行如何。

相关文章
相关标签/搜索