以下是CentOS中MongoDB内存设置技巧:
调整WiredTiger缓存大小
在配置文件/etc/mongod.conf中,通过storage.wiredTiger.engineConfig.cacheSizeGB参数设置缓存大小(单位:GB),建议设置为服务器总内存的50%-70%,避免与其他应用争抢内存。
storage:
wiredTiger:
engineConfig:
cacheSizeGB: 8 # 示例:设置为8GB
限制内存使用参数
setParameter动态调整内存相关参数,如internalQueryExecMaxBlockingSortBytes(控制排序操作内存上限)。--wiredTigerCacheSizeGB启动参数直接限制缓存大小(需在配置文件或命令行中指定)。优化系统级参数
vm.swappiness(默认60,建议设为10-20),减少系统使用交换空间。vm.overcommit_memory=2,禁止内存过度分配,避免MongoDB因内存不足频繁触发OOM。启用内存管理工具
db.serverStatus().mem命令监控内存使用情况,重点关注wiredTiger.cache和connections内存占用。mongostat和mongotop分析内存负载及慢查询。其他优化措施
注意:修改配置后需重启MongoDB服务生效,且需预留足够内存给操作系统和其他服务,避免影响系统稳定性。