1. 问题发生、解决时间以及问题系统
序号 | 问题实际发生时间 | 问题实际解决时间 | 问题系统 | 问题影响具体描述(可把相关涉及系统补充进来) |
---|---|---|---|---|
1 | 2023-10-16 | 2023-10-16 | 服务器UAT001 | MongoDB服务停止服务 |
2. 问题描述【描述问题场景、具体问题、错误截图、告警和日志信息】
- 反应MongoDB无法正常连接
3. 解决方案
-
临时解决方案(可选填)
重启MongoDB,启动命令:
/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/mongo.conf
-
根本解决方案
设置MongoDB运行时最大内存,在mongo.conf文件添加
wiredTigerCacheSizeGB=3
4. 问题分析和处理过程【详细描述问题分析和处理的过程与步骤,不得跳跃】
- 查询MongoDB服务进程,显示服务未启动,查看命令:
ps -ef|grep mongo
- 第一时间查看内存,显示内存还有6G左右
- 查询MongoDB日志,最后日志时间:2023-10-16 16:27
- MongoDB安装目录,/usr/local/mongodb/
- 为不影响业务,第一时间重启MongoDB
- 重启MongoDB,启动命令:
/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/mongo.conf
- 启动后 正常提供服务
问题排查:
- 查看信息
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