【发布时间】:2016-06-10 08:39:00
【问题描述】:
当我使用命令创建一个新的 mongoDB 数据库实例时
mongod --dbpath db
其中db 是我在调用命令的目录中创建的文件夹。运行此命令并检查目录的大小后,我发现它的大小超过了 300MB - 当那里没有数据时。
这是怎么回事?
感谢您的帮助!
编辑
感谢讨论 journal 的预分配大小的人们。
这是数据库目录中文件/文件夹的列表,按顺序排序(数据库中现在有一点数据,但这里的大小可以忽略不计):
$du -ha | sort -n
4.0K ./WiredTiger
4.0K ./WiredTiger.lock
4.0K ./WiredTiger.turtle
4.0K ./WiredTigerLAS.wt
4.0K ./mongod.lock
4.0K ./storage.bson
8.0K ./.DS_Store
8.0K ./diagnostic.data/metrics.2016-06-10T11-07-50Z-00000
8.0K ./diagnostic.data/metrics.interim
16K ./_mdb_catalog.wt
16K ./index-3-3697658674625742251.wt
36K ./collection-0-3697658674625742251.wt
36K ./index-1-3697658674625742251.wt
36K ./sizeStorer.wt
44K ./WiredTiger.wt
60K ./collection-2-3697658674625742251.wt
72K ./diagnostic.data/metrics.2016-06-10T10-19-31Z-00000
100M ./journal/WiredTigerLog.0000000003
100M ./journal/WiredTigerPreplog.0000000001
100M ./journal/WiredTigerPreplog.0000000002
168K ./diagnostic.data/metrics.2016-06-10T11-17-58Z-00000
256K ./diagnostic.data
300M ./journal
301M .
如您所见,日志目录几乎占用了所有空间。
【问题讨论】:
-
这不是stackoverflow.com/questions/9598971 的重复,因为在此示例中
mongod不是以--replSet开头的。目录列表可以确认,但在使用 WiredTiger 存储引擎启动新的 MongoDB 3.2 服务器时,journal目录中预分配文件的预期大小约为 300MB。日志文件大小限制为 100MB,我希望启动时有 3 个文件。 -
我在我的问题中添加了文件大小 - 我认为这证实了您的假设。谢谢!
-
感谢您添加目录列表(fwiw,
du -ha将显示更友好的文件大小)。这确实是使用 WiredTiger(MongoDB 3.2 中的默认存储引擎)的日志文件的预期预分配。 -
好提示,谢谢。改变了输出。
标签: mongodb