MongoRestore比预期花费更多时间和CPU

时间:2012-08-28 18:55:48

标签: mongodb ubuntu cpu-usage

我只是在恢复一个数据库,我几分钟后就做了一些修改。 Mongorestore占用了大约100%的CPU,比预期的时间多得多。我想,这可能是由于我创建的索引,但是,恢复甚至单个集合时问题也是一样的。一个集合大小约为314MB,有大约185000个文档。 通常,这件事情不会发生。这可能是因为我的系统上的磁盘空间较少,但也是11GB。 任何人都可以帮助我,它可能是什么问题?

注意:我正在从mongo客户端做事。没有包括司机。

1 个答案:

答案 0 :(得分:0)

正如您在评论中指出这与日志记录有关,那么我建议采取以下几个步骤:

首先,使用日志轮换。这可以通过对数据库的命令或通过向进程发送SIGUSR1信号来完成,因此可以非常容易地定期编写脚本或启用作为cron作业。更多信息:

http://www.mongodb.org/display/DOCS/Logging#Logging-Rotatingthelogfiles

其次,验证您的日志记录级别。以-v = log level 1开头; -vv = log leve 2等。您可以在启动时和运行时调整它。对于运行时调整,请使用setParameter command

// connect to the database or mongos
use admin;
// check the log level
db.runCommand({getParameter : 1, logLevel: 1})
{ "logLevel" : 0, "ok" : 1 }
// set it higher
db.runCommand({setParameter : 1, logLevel: 1})
// back to default levels
{ "was" : 0, "ok" : 1 }
db.runCommand({setParameter : 1, logLevel: 0})
{ "was" : 1, "ok" : 1 }

最后,您还可以使用--quiet来减少一些消息传递。