OMS堆内存溢出

【 使用环境 】生产环境
【 OB or 其他组件 】
【 使用版本 】oms_4.2.9-ce
【问题描述】OMS安装执行迁移任务运行了半个月后宕机预警,迁移任务失败,查看日志是OOM了,登录容器获取堆内存快照分析看到好像队列满了
【复现路径】

  1. 查看官方文档使用supervisorctl status命令查看组件都是RUNNING状态
  2. 重启组件:supervisorctl restart oms_drc_supervisor
  3. 重启日志没刷新,服务依然不可用
  4. 增大/home/ds/supervisor/service.sh 脚本的堆内存
  5. 停止组件:supervisorctl stop oms_drc_supervisor
  6. 启动组件:supervisorctl start oms_drc_supervisor
  7. 恢复失败的迁移任务成功

虽然重启了能使用,但是不清楚OOM的原因,看堆内存哪里好像是队列,没有代码需要官方人员帮忙看看,怕再次宕机

【附件及日志】
告警信息截图:


/home/ds/supervisor/java_pid2772.hprof 堆内存快照部分截图:

容器/home/admin/logs/supervisor/supervisor.log.2025-08-06 日志部分截图:

/home/ds/supervisor/service.sh 脚本增加堆内存前后截图:
修改前:
修改后:

【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手] 即可召唤小助手,欢迎试用!

1 个赞

有没有启用时序数据库,supervisor在没启用时序数据库的情况下存在缺陷,这个已在oms_4.2.10ce版本修复

2 个赞

没有使用时序数据库,目前停止再启动能用着了,就是这个OOM的原因可以看出来吗?我怕后续又宕机

这个是supervisor内存泄漏缺陷引起的,可以升级一下oms4210解决

好的,升级的时候我原本还在增量迁移的任务还能恢复吗

可以恢复的

学习了