我想在我的日记文件夹中创建prealloc.X文件,没有明确创建这些文件的选项,mongo决定是否进行预分配。
我使用了--journal选项,但没有帮助。
请建议可以创建prealloc.X文件的任何方式或条件。
提前致谢!
答案 0 :(得分:2)
默认情况下,在启用日志记录时完成预分配(默认情况下在V2.2中启用)。实际上,您需要明确告诉mongo是否要禁用预分配 - 使用noprealloc
标志。
我建议您首先查看mongodb.conf中noprealloc
是否设置为true并将其更改为false。
但是你也可以在启动mongod之前手动创建prealloc.X,以便保存预分配滞后。这里将详细介绍http://docs.mongodb.org/manual/administration/journaling/#avoid-preallocation-lag
这个想法是你启动mongod只是为了创建prealloc.X文件。然后你停止它并将文件复制到常规mongd的日志目录。
答案 1 :(得分:1)
MongoDb实际上会在启动mongod
时预先分配2-3GB的日志,因为@balafi状态是默认行为,您必须通过--smallfiles
(--noprealloc
明确告诉MongoDB不要这样做。 {3}})和/或mongod
(http://docs.mongodb.org/manual/reference/mongod/#cmdoption-mongod--smallfiles)。
除非你处于停产期间并且每分钟都是金钱^ 2,否则通常会遇到一些预分配延迟。
所以我建议您检查一下如何开始{{1}},看看是否有一些选项迫使它开始: