这里需要巨大的帮助,因为这影响了我们的生产实例。MongoDb副本服务器由于内存不足而死亡?
一个副本服务器是缺乏存储器失败因(见下文来自kern.log片的块)
kernel: [80110.848341] Out of memory: kill process 4643 (mongod) score 214181 or a child
kernel: [80110.848349] Killed process 4643 (mongod)
UPDATE
kernel: mongod invoked oom-killer: gfp_mask=0x201da, order=0, oom_adj=0
kernel: [85544.157191] mongod cpuset=/ mems_allowed=0
kernel: [85544.157195] Pid: 7545, comm: mongod Not tainted 2.6.32-318-ec2
透视:
- 主服务器数据库大小是50GB,其中30GB是由索引填充的。
- 主服务器有7GB RAM,而辅助服务器有3.1GB RAM。
- 这两台服务器都是64位机器,分别运行Debian/Ubuntu。
- 两个服务器
注上运行蒙戈2.0.2: 我看到吉拉 - 蒙戈的网站最近类似issue has been created - 没有问题的答案呢。
是的,在重新同步过程中发生了这个问题 - 我已经安装了这个服务器并添加为副本成员,我相信Mongo会在辅助服务器(?)中重新同步 – 2012-03-29 10:17:28
副本是否有交换分区?它很有可能被杀死,因为同步和随后的索引构建消耗了太多的内存 - 添加swap会停止,但意味着它会运行缓慢 – 2012-03-29 10:53:52
根据您的建议我添加了一个交换文件,在那里,让我看看是否有帮助。 – 2012-03-29 11:18:23