Ubuntu 18 GCP实例MongoDB服务突发无预警停止问题排查求助
MongoDB 无预警突然停止的排查思路
问题背景
在Ubuntu 18.04的GCP计算引擎实例中安装的MongoDB服务时常无预警突然停止,以下是相关信息及排查解决方向:
相关信息
1. systemctl status mongod.service 输出结果

2. mongod.conf 文件内容

3. MongoDB 日志文件内容

排查解决思路
1. 从系统日志定位终止根源
- 执行
journalctl -u mongod.service -b查看服务启停的系统级日志,重点找停止前后的报错、OOM(内存不足)提示或SIGKILL这类强制终止信号 - 检查GCP实例资源监控:
- 内存:MongoDB依赖内存,若实例内存耗尽,系统OOM Killer会直接终止mongod进程,可通过GCP控制台查看内存使用率曲线
- 磁盘:执行
df -h检查数据盘剩余空间,磁盘满会导致MongoDB停止写入甚至退出
2. 深挖MongoDB自身日志
- 从日志截图里重点找
ERROR、FATAL、Assertion、out of memory、disk full这类关键字 - 若日志提示内存不足,在
mongod.conf中调整wiredTiger.engineConfig.cacheSizeGB,设置为实例可用内存的50%-60%,避免抢占系统内存 - 若日志显示磁盘权限/空间问题,检查数据目录权限:
ls -ld /var/lib/mongodb,确保mongod用户有读写权限;同时清理过期日志或扩容磁盘
3. 排查服务配置与外部干扰
- 验证配置文件合法性:
mongod -f /etc/mongod.conf --configtest,排查语法错误 - 检查是否有定时任务误杀进程:执行
crontab -l查看用户定时任务,systemctl list-timers查看系统定时器
4. 版本与稳定性检查
- 执行
mongod --version查看当前版本,对照MongoDB官方文档排查该版本是否有已知崩溃bug,Ubuntu 18.04建议适配4.4或5.0这类LTS稳定版 - 更新系统依赖:
apt update && apt list --upgradable,确保系统库是最新稳定版本
5. 配置服务自动恢复(临时应急)
- 编辑
/etc/systemd/system/mongod.service,添加或修改:
执行Restart=always RestartSec=5systemctl daemon-reload && systemctl restart mongod.service,让服务停止后自动重启,同时收集更多重启时的日志信息
内容的提问来源于stack exchange,提问作者Bawantha Wickramarachchi
相关产品推荐
相关产品推荐

