每隔 6-12 小时,我的 MongoDB CPU 就会被固定(100% CPU 使用率)。
我启用了分析。上次返回这个:
PRIMARY> db.system.profile.find().sort({$natural:-1});
{ "ts" : ISODate("2012-11-08T05:31:09.042Z"), "client" : "10.188.14.195", "user" : "", "err" : "profile line too large (max is 100KB)" }
不幸的是,不是很有帮助。
我试着做一个 db.currentOp(); 虽然它被固定并得到了这个:
{
"opid" : 18256845,
"active" : true,
"lockType" : "write",
"waitingForLock" : false,
"secs_running" : 803653,
"op" : "none",
"ns" : "streamified.credentials",
"query" : {
},
"client" : "",
"desc" : "rsSync",
"threadId" : "0x7f3b865f7700",
"numYields" : 1
},
表明查询已经存活了超过 800,000 秒(在 CPU 挂钩之前的 FAR)。即使在 CPU 恢复正常后,此查询仍然存在。
准确确定哪个查询(或者至少是哪个集合)导致 CPU 挂钩的最佳方法是什么?