背景:

线上有一个应用使用到mongo(v 4.4.4),平常系统业务量比较少,系统使用起来没有任何问题,最近今天系统业务量突然增多了。发现mongo挂掉了,重启之后,第二天又挂了。

排查:

cd /var/log
grep "mongod" messages

结论:

从查询结果可以看出来, “Out of memory: Kill process 24567 (mongod)”,表示mongod占用内存过高,系统自动kill掉mongo了。

通过查阅资料(In-Memory Storage Engine — MongoDB Manual),mongo存储引擎默认最大内存为服务器内存50%-1GB,而我的这个服务器上又部署了其他服务,占用50%内存-1GB会导致服务器内存不够。所以会把Mongo干掉。

解决方案:

可以 通过设置cacheSizeGB,设置缓存占用最大内存。

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐