故障排查GitHub issue3 分钟阅读排错/错误码

解决FastGPT私有部署v4.9.7-fix2的内存GC报错问题

FastGPT私有部署v4.9.7-fix2版本运行时,系统日志出现V8引擎垃圾回收相关报错,具体报错日志如下: 同时附带内存相关的截图记录。

现象

FastGPT私有部署v4.9.7-fix2版本运行时,系统日志出现V8引擎垃圾回收相关报错,具体报错日志如下:

[1:0x79bf12627690] 240600620 ms: Mark-Compact 4012.3 (4129.4) -> 3996.3 (4129.1) MB, 3206.37 / 0.02 ms  (average mu = 0.107, current mu = 0.037) task; scavenge might not succeed
[1:0x79bf12627690] 240603419 ms: Mark-Compact 4011.3 (4129.1) -> 3996.1 (4127.9) MB, 2693.34 / 0.09 ms  (average mu = 0.076, current mu = 0.038) task; scavenge might not succeed

同时附带内存相关的截图记录。

可能原因

该报错为V8引擎垃圾回收任务失败的提示,从日志参数来看,当前进程内存占用接近4012MB,内存回收效率相关指标(average mu、current mu)偏低,反映当前服务的内存资源或CPU资源处于紧张状态,无法顺利完成内存垃圾回收操作。

排查步骤

  1. 登录FastGPT部署所在的服务器,通过top命令查看FastGPT服务的内存占用情况。
  2. 导出FastGPT服务的完整运行日志,确认该GC报错是否重复出现,以及是否存在其他关联异常日志。
  3. 检查服务器的可用物理内存总量,确认是否存在整体内存不足的情况。
  4. 确认当前FastGPT服务的部署版本为v4.9.7-fix2,核对服务启动配置是否符合部署要求。

解决与验证

  1. 若确认服务内存占用过高或服务器内存不足,可调整Node.js进程的堆内存上限参数,在启动命令中添加--max-old-space-size=<目标内存值>,目标内存值需根据服务器可用内存合理设置,例如设置为4096(单位为MB)。
  2. 重启FastGPT服务,查看日志是否不再出现该GC报错。
  3. 持续监控服务的内存使用与运行状态,确认内存回收恢复正常,服务运行稳定。

来源:FastGPT GitHub issue