在 Debian 上配置 MongoDB 的内存使用,通常可以从 操作系统层面、MongoDB 配置文件 以及 内核参数 三个方向来做。下面按常见场景说明。
MongoDB 主要使用:
编辑配置文件(Debian 通常为 /etc/mongod.conf):
storage:
wiredTiger:
engineConfig:
cacheSizeGB: 2
示例:
cacheSizeGB: 3cacheSizeGB: 1.5重启 MongoDB:
sudo systemctl restart mongod
⚠️ 不要设得太高,至少给 OS 和文件系统缓存留 20–30%
编辑:
sudo systemctl edit mongod
内容示例(限制最多 4G 内存):
[Service]
MemoryMax=4G
MemoryHigh=3.5G
保存后执行:
sudo systemctl daemon-reload
sudo systemctl restart mongod
MongoDB 依赖 OS 的 Page Cache,通常 不要禁用。
free -h
cat /proc/meminfo
sudo sysctl vm.swappiness=10
持久化:
echo "vm.swappiness=10" | sudo tee -a /etc/sysctl.conf
cacheSizeGBsystemd 内存限制示例(1G 内存服务器):
storage:
wiredTiger:
engineConfig:
cacheSizeGB: 0.5
mongo
db.serverStatus().wiredTiger.cache
查看:
maximum bytes configuredbytes currently in the cache❌ 把 cacheSizeGB 设成物理内存的 80%+
❌ 完全禁用 swap(OOM 风险)
❌ 用小内存跑大量写入场景
如果你能告诉我:
我可以给你一套具体可直接用的配置。