node.js - mongodb增加副本节点,startup一段时间后新节点就满内存崩溃了
PHP中文网
PHP中文网 2017-04-17 15:47:50
[Node.js讨论组]

当前副本集状态:
已经有两个节点,一主一从,storageSize:16G。

遇到的问题:
通过rs.add()增加新副本集节点,rs.status()显示新节点已增加,stateStr为“STARTUP2”。一段时间后,新节点mongo进程崩溃,经查物理内存被耗尽。
除了换更大内存的机器,有什么方式能解决这个问题吗?

PHP中文网
PHP中文网

认证高级PHP讲师

全部回复(3)
怪我咯

1、从描述的情况来看,是initial sync遇到性能问题;STARTUP2表示节点在做initial sync;

2、所以可以考虑,优化initial sync;如果没有这样做的话,可以考虑先把数据库备份/恢复到待加入的节点,然后再加入该节点,从而减少sync的数据;

3、备份/恢复有多少种方式,可以选择熟悉的方式进行;Ops Manager其实是一个很好的选择。

供参考。

Love MongoDB! Have Fun!

巴扎黑

不知道机器配置是多少,是不是确定是被系统的OOM killer干掉的?如果是oom killer,可以加入swap来避免这个问题。
另外@bguo 已经提到可以尝试从备份来还原一个结点,具体做法请参考文档。但是即使这样,一定量的swap还是建议要有。

巴扎黑

应该先用devtool之类的工具去定位下,Profiles->Take Heap Snapshot,如果有大量字符处理,应该考虑下是否有字符串因为放到了上级的作用域而没有被释放掉

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号