[MongoDB] MongoDB的記憶體控制

[MongoDB] MongoDB的記憶體控制

MongoDB Version: 3.4

 

MongoDB因為他的架構設計有一個Cache的功能,這個功能會將DB內的資料預讀進RAM當中,讓資料的讀取速度可以更快,但在不控制範圍的情況下會吃掉將近5成左右的記憶體,如果是還有要使用這台主機做其他事情的話,這種設計就會造成一些困擾

因為這樣的問題,所以我們可以在設定檔上做一些調整,首先到你設定的地方打開你的設定檔案,並且填入下方的內容(詳細的設定參數可以參考官方文件)

storage:

          dbPath: F:\mongodb\data\db\

          wiredTiger:

                   engineConfig:

                             cacheSizeGB: 1

                             journalCompressor: snappy

                   indexConfig:

                             prefixCompression: true

 

修改完成後存檔重啟Mongodb的服務,如果發現重啟失敗的話,代表設定檔一定有地方寫錯(包含空格或是縮排錯誤都有可能造成錯誤)

如果重啟成功的話,再次觀察RAM的使用率就會發現被控制在某一個範圍內了,以上。

 

Reference:

http://www.ywnds.com/?p=6502

https://www.captaincodeman.com/2011/02/27/limit-mongodb-memory-use-windows

https://docs.mongodb.com/v3.2/reference/configuration-options/#storage.wiredTiger.engineConfig.cacheSizeGB

 

Add a Comment