以下是CentOS下MongoDB内存管理技巧:
/etc/mongod.conf
中storage.wiredTiger.engineConfig.cacheSizeGB
参数,建议设置为服务器可用内存的50%-70%,避免占用过多内存影响其他服务。vm.swappiness=0
或较低值,减少系统使用Swap交换空间。echo never > /sys/kernel/mm/transparent_hugepage/enabled
。systemd
服务文件设置MemoryLimit
参数(如MemoryLimit=4G
)。cgroups
限制内存:创建cgroup并设置memory.limit_in_bytes
。{field: 1}
)限制返回字段,避免传输冗余数据。limit()
和skip()
避免一次性加载过多数据。db.serverStatus().wiredTiger.cache
查看缓存使用情况。mongostat
、top
等工具监控内存占用,及时调整配置。注意:修改配置前需备份数据,建议在测试环境验证后再应用到生产环境。