mongod在没有伐木的情况下坠毁

时间:2014-01-28 00:54:41

标签: mongodb ubuntu-12.04 pymongo

我在单台服务器上使用mongodb v2.2.2(Ubuntu 12.04)。

没有登录/var/log/mongodb/mongodb.log就崩溃了。 在记录期间它似乎崩溃了。(字符被中断了。而且,这个日志是正常的查询日志。)

并且,我在syslog上检查了内存问题(例如,killed proccess), 但是找不到它。

然后,我在mongo-shell(db.printCollectionStats()命令)上发现以下错误。

DLLConnectionResultData {   “ns”:“UserData.DLLConnectionResultData”,   “伯爵”:8215398,   “size”:48​​31306500,   “avgObjSize”:588.0794211065611,   “errmsg”:“异常:断言src / mongo / db / database.cpp:300”,   “代码”:0,   “好的”:0 }

我如何找出问题?

谢谢,

1 个答案:

答案 0 :(得分:0)

我在2.2.2的源代码中检查了该行(参见here以供参考)。该错误与在MongoDB上强制执行quotas特别相关。您没有在此处提及强制配额或者您已将文件限制设置为(默认值为8),但您可能会遇到此限制。

首先,我建议进入更新版本的2.2(并最终升级到2.4,但最初肯定是2.2.7+)。如果您使用配额,进入2.2.5的this fix将记录超出配额的消息(以前仅在日志级别1记录,默认为日志级别0)。因此,如果配额违规是罪魁祸首,您可能会收到预警。

如果这是根本原因,那么您有几个选择:

  1. 升级到2.2的最新版本后,问题反复发生,为2.2上的崩溃提交错误报告
  2. 升级到2.4,验证问题是否仍然存在,并提交错误(或添加到2.2的上述报告中)
  3. 在任何一种情况下,在过渡期间关闭配额将是防止崩溃的明显方法。