应用服务器从源库中读取数据再导入到目标数据库,已经好几天执行失败了,从程序的日志中能够看到SQL30081N的错误,运程服务器已经中断链接,今天发现db2diag.log首次报出了OS级别的Error,SIGNALDANGER,网上说是page space不足了。通过学习aix的内存机制,写下心得:数据库
Aix经过页来管理内存 VMM的职责缓存
页映射物理地址,也映射虚拟内存服务器
Page space(虚拟内存,交换空间)是用来存放暂时不须要CPU处理的数据的地方。安装系统时自动规定逻辑卷hd6存放page space。ide
先把页分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
pin(in 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.6G,9.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,去看看程序运行如何。