1. 问题发生、解决时间以及问题系统

序号 问题实际发生时间 问题实际解决时间 问题系统 问题影响具体描述(可把相关涉及系统补充进来)
1 2023-10-16 2023-10-16 服务器UAT001 MongoDB服务停止服务

2. 问题描述【描述问题场景、具体问题、错误截图、告警和日志信息】

  1. 反应MongoDB无法正常连接

3. 解决方案

  • 临时解决方案(可选填)

    重启MongoDB,启动命令:/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/mongo.conf

  • 根本解决方案

    设置MongoDB运行时最大内存,在mongo.conf文件添加wiredTigerCacheSizeGB=3

4. 问题分析和处理过程【详细描述问题分析和处理的过程与步骤,不得跳跃】

  1. 查询MongoDB服务进程,显示服务未启动,查看命令:ps -ef|grep mongo
  2. 第一时间查看内存,显示内存还有6G左右
  3. 查询MongoDB日志,最后日志时间:2023-10-16 16:27
  4. MongoDB安装目录,/usr/local/mongodb/
  5. 为不影响业务,第一时间重启MongoDB
  6. 重启MongoDB,启动命令:/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/mongo.conf
  7. 启动后 正常提供服务

​ 问题排查:

  1. 查看信息
cd /var/log
grep "mongod" messages

从日志查看 是由于内存过大 被系统自动停掉了

MongoDB如果不设置MongoDB内存,则 默认内存 = (系统内存 - 1G)/ 2,

即:当前系统内存为 32G,(32G-1G)/ 2 = 15.5G ,系统可用内存为 6G左右,最终内存溢出,服务被killed。

killed掉MongoDB后释放6G左右内存,故排查时显示还有6G内存。

解决:在mongo.conf配置文件添加:

wiredTigerCacheSizeGB=3

5. 预防措施或优化步骤(根据实际情况选填)

序号 预防措施或优化步骤思考点
1
2
3

参考资料:https://blog.csdn.net/eddy23513/article/details/128613611