當我使用以下命令創建爲什麼一個空的MongoDB數據庫如此之大?
mongod --dbpath db
其中db
是我在我從中調用命令的目錄中創建的文件夾一個新的MongoDB數據庫實例。運行這個程序並檢查目錄的大小後,我發現它的大小超過了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 .
由於你可以看到,期刊目錄佔據了幾乎所有的空間。
這不是http://stackoverflow.com/questions/9598971的副本,如'mongod'未開始' - 在這個例子中「-replSet」。一個目錄列表可以確認,但是當啓動一個新的MongoDB 3.2時,預期分配的文件大約300MB是['journal'](https://docs.mongodb.com/manual/core/journaling/)目錄中預期分配的文件的預期大小服務器使用WiredTiger存儲引擎。日誌文件大小限制爲100MB,我希望啓動時有三個文件。 – Stennie
我已經添加了大小的文件到我的問題 - 我認爲這證實了你的假設。謝謝! – dafyddPrys
感謝您添加目錄列表(fwiw,'du -ha'會顯示更友好的文件大小)。這實際上是WiredTiger(默認存儲引擎與MongoDB 3.2一樣)的預期日誌文件預分配。 – Stennie