我在单台服务器上使用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”:4831306500, “avgObjSize”:588.0794211065611, “errmsg”:“异常:断言src / mongo / db / database.cpp:300”, “代码”:0, “好的”:0 }
我如何找出问题?
谢谢,
答案 0 :(得分:0)
我在2.2.2的源代码中检查了该行(参见here以供参考)。该错误与在MongoDB上强制执行quotas特别相关。您没有在此处提及强制配额或者您已将文件限制设置为(默认值为8),但您可能会遇到此限制。
首先,我建议进入更新版本的2.2(并最终升级到2.4,但最初肯定是2.2.7+)。如果您使用配额,进入2.2.5的this fix将记录超出配额的消息(以前仅在日志级别1记录,默认为日志级别0)。因此,如果配额违规是罪魁祸首,您可能会收到预警。
如果这是根本原因,那么您有几个选择:
在任何一种情况下,在过渡期间关闭配额将是防止崩溃的明显方法。