当数据库为空时,mongodb会创建80多个2GB的文件

当数据库为空时,mongodb会创建80多个2GB的文件,mongodb,Mongodb,背景: 我设置了replicaSet,并使用不同的端口在本地主机上任意启动了mongod的3个实例1 我还没有注意到mongo在数量和大小上创建了太多的文件,这根本没有意义 请看,mongodb中从未插入任何数据,也没有创建任何一个集合,但让它运行了大约一个小时,我的/data/DB_INSTANCE_X中充满了2GB文件 我知道文件的大小可以通过预分配标志来定义,但是,在输入单个文档之前,这么多文件对我来说似乎是错误的。听起来好像是为oplog预先分配了空间。无论您在数据库中插入了什么,都会分

背景:

我设置了replicaSet,并使用不同的端口在本地主机上任意启动了mongod的3个实例1

我还没有注意到mongo在数量和大小上创建了太多的文件,这根本没有意义

请看,mongodb中从未插入任何数据,也没有创建任何一个集合,但让它运行了大约一个小时,我的/data/DB_INSTANCE_X中充满了2GB文件


我知道文件的大小可以通过预分配标志来定义,但是,在输入单个文档之前,这么多文件对我来说似乎是错误的。

听起来好像是为oplog预先分配了空间。无论您在数据库中插入了什么,都会分配oplog:

复制oplog已预先分配为 本地数据库

默认分配约为64位磁盘空间的5% 安装

如果想要较小的oplog大小,请使用-oplog大小


我发现有各种命令行参数可以减小空数据库的大小

已经提到:

--oplogSize <value>
此外:

这三个参数的组合构成了一个针对MongoDB 64位Windows 7测试的18mb空数据库


这是一个全新的安装,还是过去确实存在一些数据库?全新的,没有数据库,什么都没有。您是否尝试过将oplog大小设置为-oplog大小?您说有这么多文件对您来说似乎是错误的,但您没有说是否尝试手动设置oplog大小。可能是oplog,但如果在零数据库插入的情况下生成160GB的日志,这是没有意义的
--smallfiles
--nssize <value>