这里需要一个巨大的帮助,因为这影响了我们的生产实例。
其中一个副本服务器由于内存不足而失败(请参阅下面的kern.log块)
kernel: [80110.848341] Out of memory: kill process 4643 (mongod) score 214181 or a child
kernel: [80110.848349] Killed process 4643 (mongod)更新
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洞察:
注意:我最近在吉拉-蒙戈的网站上看到了一个类似的问题已经产生了 --目前还没有答案。
发布于 2012-03-29 09:37:21
在这些实例上启用了交换吗?虽然mongoDB操作通常不需要,但当您遇到OOM情况时,它可以防止进程被内核杀死。这里提到的是:
http://www.mongodb.org/display/DOCS/Production+Notes#ProductionNotes-Swap
所引用的问题是在完全重新同步而不是正在进行的生产复制过程中发生的--这也是您正在做的吗?
一旦稳定下来,看看mongostat或MMS中的Res内存,如果超过或接近3GB,您应该考虑升级次要内存。
发布于 2012-03-30 02:53:47
我也有过类似的问题。需要检查的事情之一是,您有多少个打开的连接。运行lsof命令,查看与mongod进程关联的打开文件。尝试禁用日志记录,并查看是否看到较小数量的打开文件。如果是的话,让副本赶上,然后重新启用日志记录。也许能帮上忙。添加交换应该也有帮助,如果可能的话,暂时增加RAM。
https://stackoverflow.com/questions/9922491
复制相似问题