ITPub博客

首页 > Linux操作系统 > Linux操作系统 > GoldenGate通过CACHEMGR限制内存利用

GoldenGate通过CACHEMGR限制内存利用

原创 Linux操作系统 作者:westzq1984 时间:2012-06-21 22:52:55 0 删除 编辑
今天客户一个即将上线的数据库报告无法连接了,马上登录上去看,系统大量分页,77G内存的机器,交换分区利用率达到70%,还一直在增加

马上svmon -U看了下,发现ggs用户用了32GB内存,马上意识到ogg有问题,立马停掉。内存使用一下就降下来了

检查extract进程日志,lag延迟了2小时,检查生成的trail,发现最近2个小时生成的trail极多

尝试启动extract,发现主机内存马上就上去了。查看了长事务,发现还比较多。立马重新停掉

想到OGG的内存限制应该是操作系统用户内存限制

马上把ggs用户的内存限制设置为1GB,内存还是继续消耗的很快

尝试了128MB限制,尝试设置硬限制,还是没办法,内存吃的飞快。

最后查看文档,发现通过cachemgr可以设置用来cache没有提交的数据的虚拟内存大小和临时空间

虽然文档不建议设置,由系统自动管理。但是没办法,不设置内存吃的太快了

-- 未设置前:
CACHEMGR virtual memory values (may have been adjusted)                      
CACHESIZE:                               64G                                 
CACHEPAGEOUTSIZE (normal):                8M                                 
PROCESS VM AVAIL FROM OS (min):         128G                                 
CACHESIZEMAX (strict force to disk):     96G       

-- 设置 CACHEMGR CACHESIZE 4GB
CACHEMGR virtual memory values (may have been adjusted)
CACHESIZE:                                4G
CACHEPAGEOUTSIZE (normal):                8M
PROCESS VM AVAIL FROM OS (min):           8G
CACHESIZEMAX (strict force to disk):   6.91G

CACHESIZE:EXTRACT进程可用的用于缓存未提交的事务数据的初始化分配的VM容量。通过CACHESIZE选项指定
CACHEPAGEOUTSIZE:事务数据将被考虑来交换到硬盘的阀值。通过CACHEPAGEOUTSIZE选项控制
PROCESS VM AVAIL FROM OS:进程可以使用的VM的容量的近似值,默认比系统物理内存+交换分区容量略低,一般为CACHESIZE的两倍
CACHESIZEMAX:指定进行CACHEPAGEOUTSIZE时的阀值,超过该值进行长事务的PAGEOUT,低于该值停止PAGEOUT

总的来说:
EXTRACT启动时,会分配CACHESIZE大小的VM来缓存事务数据
能够用来缓存事务数据的VM的大小,为PROCESS VM AVAIL FROM OS
当VM使用达到CACHESIZEMAX时,考虑将数据数据大于CACHEPAGEOUTSIZE的事务pageout入磁盘

通过设置CACHEMGR CACHESIZE 可以来控制OGG进程的内存使用
通过send extract extxz, CACHEMGR CACHESTATS,可以看当前进程的vm使用量


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8242091/viewspace-733599/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2009-04-06

  • 博文量
    251
  • 访问量
    941527