2012-03-07 36 views
2

背景:mongodb的创建80+文件2GB每个而数据库是空

我设置replicaSet并使用不同的端口发起本地主机上的mongod的3个实例(1 arbiterOnly)。

我还没注意到,蒙戈是这样创造的数量和尺寸没有任何意义可言了太多的文件。

见,没有数据是有史以来插入MongoDB的,不是一个单一的集合被创造,然而,让它运行小时左右,我有我的/数据/ DB_INSTANCE_X充满了2GB的文件。

我知道可以用预分配标志被定义的事实文件的大小,然而,这么多的文件,是进入了一个单一的文件似乎是错误的在我面前。

+0

它是一个全新的安装,或某些数据库并在过去的存在呢? – 2012-03-07 09:46:23

+0

全新的,没有数据库,没有 – 2012-03-07 09:48:25

回答

5

它听起来像是预先分配oplog空间。不管你已经插入到数据库http://www.mongodb.org/display/DOCS/Excessive+Disk+Space什么OPLOG分配:

复制OPLOG被预分配作为 本地数据库封顶集合。

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

如果您想更小的尺寸OPLOG使用--oplogSize command line parameter

+2

所以,你有没有尝试用--oplogSize设置oplog大小?你说你看起来错了,有很多文件,但是你没有说过你是否尝试过手动设置oplog的大小。 – 2012-03-07 09:57:41

+0

https://groups.google.com/forum/?fromgroups#!topic/mongodb-user/_iEeuzB8IK8它可能是oplog,但这没有任何意义,160 GB的日志生成零数据库插入 – 2012-03-07 10:27:56

0

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

已经提到:

--oplogSize <value> 

另外:

--smallfiles 
--nssize <value> 

所有3个参数的组合,使一个18MB空的数据库(对MongoDB的64位的Windows 7测试)。

http://docs.mongodb.org/manual/reference/program/mongod/

相关问题