每隔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被挂起的最佳方法是什么?