内存相关错误#
n8n 不会限制每个节点可获取和处理的数据量。虽然这赋予了用户自由度,但当工作流执行所需内存超过可用内存时,可能导致错误。本页将说明如何识别和避免这类错误。
仅适用于自托管 n8n
本文档描述的是自托管 n8n 时的内存相关错误。如需了解 n8n Cloud 的内存限制,请参阅云数据管理。
识别内存不足情况#
n8n 会在某些内存不足情况下提供错误提示信息。例如出现**执行在此节点停止(n8n 可能在执行时内存耗尽)**等提示。
包含工作流运行问题、连接丢失或503 服务暂时不可用的错误信息,表明 n8n 实例已不可用。
自托管 n8n 时,您可能还会在服务器日志中看到分配失败 - JavaScript 堆内存不足等错误信息。
在 n8n Cloud 或使用 n8n Docker 镜像时,n8n 会在遇到此类问题时自动重启。但若通过 npm 运行 n8n,则可能需要手动重启。
典型成因#
当工作流执行所需内存超过 n8n 实例可用内存时,就会出现此类问题。导致工作流执行内存使用量增加的因素包括:
- JSON 数据量
- 二进制数据大小
- 工作流中的节点数量
- 某些节点内存占用较高:代码节点及旧版函数节点会显著增加内存消耗
- 手动或自动工作流执行:手动执行会增加内存消耗,因为 n8n 需要为前端复制数据
- 同时运行的其他工作流
避免内存不足情况#
遇到内存不足情况时,有两种解决方案:增加 n8n 可用内存或降低内存消耗。