MongoDB在Ubuntu上的内存设置说明
MongoDB在Ubuntu上的内存设置主要围绕WiredTiger存储引擎(默认引擎)的缓存大小调整,关键参数为:
storage.wiredTiger.engineConfig.cacheSizeGB(单位:GB)。该参数决定了MongoDB用于缓存数据和索引的内存上限,直接影响查询性能(缓存命中率越高,性能越好)。
cacheSizeGB设置为系统总物理内存的50%-70%(如8GB内存的服务器,可设置为4-5.6GB)。此范围既能保证MongoDB充分利用内存提升性能,又能避免占用过多内存导致操作系统或其他进程因内存不足而使用交换空间(swap),进而引发性能下降。cacheSizeGB设置为4-6GB(占总内存的50%-75%),具体可根据应用负载调整。nano)打开MongoDB配置文件/etc/mongod.conf:sudo nano /etc/mongod.conf
storage section下添加或修改wiredTiger.engineConfig.cacheSizeGB,例如设置为4GB:storage:
dbPath: /var/lib/mongodb
journal:
enabled: true
wiredTiger:
engineConfig:
cacheSizeGB: 4 # 设置为4GB
sudo systemctl restart mongod
可通过MongoDB shell查看WiredTiger缓存状态,确认cacheSizeGB是否设置成功:
mongo
> use admin
> db.serverStatus().wiredTiger.cache
输出结果中的bytes dirty(脏页字节数)、bytes valid(有效缓存字节数)等指标可反映缓存使用情况。
cacheSizeGB(如2-3GB),避免内存耗尽;storage.mmapv1.engineConfig.cacheSizeGB,但建议升级至WiredTiger以获得更好性能;