https://docs.mongodb.com/manual/core/wiredtiger/
MongoDB3.2版本开始,默认存储引擎是WiredTiger。
(1) ----------------------------- Starting in 3.4, the WiredTiger internal cache, by default, will use the larger of either:
50% of RAM minus 1 GB, or 256 MB. ------------------------------- 3.4版本开始,WiredTiger内部缓存默认使用(物理内存的一半减去1G),最小256MB。
它会一直吃内存,吃到限制为止。
(2)如何调整内存缓存 配置文件中使用 storage.wiredTiger.engineConfig.cacheSizeGB参数
或者启动命令里使用--wiredTigerCacheSizeGB参数
https://docs.mongodb.com/manual/reference/configuration-options/#storage.wiredTiger.engineConfig.cacheSizeGB
(3)配置文件写法
# Where and how to store data. storage: dbPath: /data/db2 journal: enabled: true # engine: # mmapv1: wiredTiger: engineConfig: cacheSizeGB: 2
注意每行前面的空格数量,注意对齐 我实际试的是: wiredTiger前面有2个空格 engineConfig前面有5个空格 cacheSizeGB前面有8个空格
格式不对,启动不起来的哦~~
另外,内存不要调的太大,不要大于默认值(内存-1再除以2,比如16G内存,不要大于7.5G) 这个cacheSize只是mongo内部缓存(干啥用?)大小, 剩下的内存,操作系统会用来做文件缓存,把文件放内存里。 ------------------------------ Avoid increasing the WiredTiger internal cache size above its default value.
With WiredTiger, MongoDB utilizes both the WiredTiger internal cache and the filesystem cache.
Via the filesystem cache, MongoDB automatically uses all free memory that is not used by the WiredTiger cache or by other processes.
|