在 Ubuntu 上调整 MongoDB 的内存配置,通常有两种层面:操作系统层面和 MongoDB 自身配置层面。下面按常见场景说明。
MongoDB 主要使用内存做 WiredTiger 存储引擎缓存,通过 storage.wiredTiger.engineConfig.cacheSizeGB 控制。
配置文件一般在:
/etc/mongod.conf
编辑:
sudo nano /etc/mongod.conf
在 storage 下添加或修改:
storage:
wiredTiger:
engineConfig:
cacheSizeGB: 2
表示 MongoDB 最多使用 2GB 内存做 WT 缓存
不设置时,默认是:(总内存 - 1GB) 的 50%
sudo systemctl restart mongod
进入 mongo shell:
mongosh
执行:
db.serverStatus().memory
重点关注:
resident:常驻内存virtual:虚拟内存wiredTiger.cacheMongoDB 没有“最大内存”参数,只能限制 WT 缓存 + 控制其他开销。
编辑 service:
sudo systemctl edit mongod
加入:
[Service]
MemoryLimit=4G
然后:
sudo systemctl daemon-reload
sudo systemctl restart mongod
cacheSizeGBcacheSizeGBcacheSizeGB: 3
cacheSizeGB: 0.5
如果你愿意,可以告诉我:
我可以帮你给出精准配置示例。