我有一个在Linux SMP实例上运行的Mongo 2.6.9进程。 这里是uname -a与服务器名称redacted:
Linux xxx.xxxx.com 3.13.0-042stab085.20 #1 SMP Sun Jul 20 13:27:24 MSK 2014 x86_64 x86_64 x86_64 GNU/Linux
过去几次,Mongo事件已经崩溃,但并不罕见(每隔一个月),我也没有调查过。 今天发生了5次。 当然,我先看看日志文件。 没有什么比我更惊讶的了。 下面是日志文件的尾部,就在崩溃之前:
2015-05-27T18:29:12.547-0400 [clientcursormon] mem (MB) res:27 virt:691 2015-05-27T18:29:12.547-0400 [clientcursormon] mapped (incl journal view):480 2015-05-27T18:29:12.547-0400 [clientcursormon] connections:10 2015-05-27T18:30:12.435-0400 [DataFileSync] flushing mmaps took 0ms for 6 files
然后,我编辑/etc/mongod.conf ,并将verbose更改为true 。 现在,除了上述之外,我还得到了一些看起来TTLMonitor线:
2015-05-27T18:33:12.435-0400 [DataFileSync] flushing mmaps took 0ms for 6 files 2015-05-27T18:33:12.495-0400 [TTLMonitor] query admin.system.indexes query: { expireAfterSeconds: { $exists: true } } planSummary: COLLSCAN ntoreturn:0 ntoskip:0 nscanned:3 nscannedObjects:3 keyUpdates:0 numYields:0 locks(micros) r:315 nreturned:0 reslen:20 0ms 2015-05-27T18:33:12.496-0400 [TTLMonitor] query dtnajobs.system.indexes query: { expireAfterSeconds: { $exists: true } } planSummary: COLLSCAN ntoreturn:0 ntoskip:0 nscanned:5 nscannedObjects:5 keyUpdates:0 numYields:0 locks(micros) r:51 nreturned:0 reslen:20 0ms 2015-05-27T18:33:12.496-0400 [TTLMonitor] query local.system.indexes query: { expireAfterSeconds: { $exists: true } } planSummary: COLLSCAN ntoreturn:0 ntoskip:0 nscanned:1 nscannedObjects:1 keyUpdates:0 numYields:0 locks(micros) r:74 nreturned:0 reslen:20 0ms
我发现在MongoDB文档页面上,我应该尝试这样的崩溃:
sudo grep mongod /var/log/messages sudo grep score /var/log/messages
这两个文件都不存在于这台机器上,所以我把所有的日志文件都清理干净了,没有任何相关的东西。
当我运行mongo命令行客户端,我得到这个警告:
2015-05-27T18:36:24.216-0400 [initandlisten] ** WARNING: You are running in OpenVZ which can cause issues on versions of RHEL older than RHEL6.
这可能是我应该做的吗?
我真的需要一个方法来确定问题是什么,并解决它。 任何的build议都受欢迎。