服务器中使用的mongodb服务,占用内存随着时间增长而增长,近期多次由于内存占用100%导致服务器意外关闭,于是就有需求限制mongodb最大占用内存。
初始方案是通过配置文件中的cacheSizeGB属性来限制最大占用内存
但是修改好之后通过配置文件启动mongodb却报错
Unrecognized option: storage.wiredTiger.engineConfig
研究文档后发现3.4.24版本太早,该参数不可用,所以无法启动报错。改用其他方案,把mongodb启动安装为windows服务,添加启动参数来限制最大内存占用(因为之前已经安装好windows服务,所以现在是修改启动参数)
启动注册表,按以下路径找到‘ImagePath’双击
HKEY_LOCAL_MACHINE
└── SYSTEM
└── CurrentControlSet
└── Services
└── MongoDB
将‘’--wiredTigerCacheSizeGB 20’命令添加到启动字符串后,中间加空格,然后保存,重启服务。现在监视运行了几天,mongodb占用内存始终保持在17GB左右,限制成功。