我想在我的日志文件夹中创建 prealloc.X 文件,没有显式创建这些文件的选项,由 mongo 决定是否进行预分配。
我使用了 --journal 选项,但这没有帮助。
请建议可以创建 prealloc.X 文件的任何方式或条件。
提前致谢!
我想在我的日志文件夹中创建 prealloc.X 文件,没有显式创建这些文件的选项,由 mongo 决定是否进行预分配。
我使用了 --journal 选项,但这没有帮助。
请建议可以创建 prealloc.X 文件的任何方式或条件。
提前致谢!
启用日记功能时,默认情况下会进行预分配(在 V2.2 及更高版本中默认启用)。事实上,如果你想禁用预分配,你需要明确告诉 mongo - 使用noprealloc
标志。
我建议您首先查看noprealloc
mongodb.conf 中是否设置为 true 并将其更改为 false。
但是您也可以在 mongod 启动之前手动创建 prealloc.X 以保存 Preallocation Lag。这在此处详细描述http://docs.mongodb.org/manual/administration/journaling/#avoid-preallocation-lag
这个想法是您启动 mongod 只是为了创建 prealloc.X 文件。然后停止它并将文件复制到常规 mond 的日志目录中。
MongoDb will actually pre-alloc 2-3GB of journal upon starting mongod
, this as @balafi states is the default behaviour and you must explicitly tell MongoDB not to do this, via --smallfiles
( http://docs.mongodb.org/manual/reference/mongod/#cmdoption-mongod--smallfiles ) and/or --noprealloc
( http://docs.mongodb.org/manual/reference/mongod/#cmdoption-mongod--noprealloc ).
It is normally OK to suffer a bit of pre-allocation lag unless you are in the middle of a production shutdown and every minute = money^2.
So I would recommend checking how you are starting mongod
and see if you have some options which are forcing it to start: