困擾人的「n8n 可能已耗盡記憶體」問題本週開始出現

描述問題/錯誤/問題

本週開始,我們遇到了一個嚴重的記憶體問題。我們有一個自動化流程已經運行了大約 3 個月,每天執行一次。該流程遍歷 CRM 中的聯絡人,並透過 Telnyx 派遣 AI 代理通話進行後續跟進。它一直運行良好,直到本週,我們開始收到錯誤:「執行在此節點停止 - n8n 在執行此次執行時可能已耗盡記憶體。」

更糟的是,當試圖查看執行歷史記錄時,執行資料不可見或未保存。已執行的節點只顯示:「無法顯示資料。執行已中斷,因此資料未保存。請嘗試修復工作流程並重新執行。」

因此,我們無法進行任何手動資料恢復或繼續工作流程。這在本週造成了重大問題,我們一直在嘗試協調我們的記錄,並追趕可能在中途出錯的任何通話工作流程。

上週三和昨天,它運行都沒有任何問題。但當它運行時,它會停止,錯誤發生在隨機節點上。自此自動化開始以來,除了頻繁的 n8n 實例更新外,我們的工作流程或 n8n 實例沒有任何變化。我們的實例上沒有其他自動化運行。

n8n 雲端訂閱限額或記憶體使用/分配是否有最近的變化?這本週一直是相當大的挑戰。

感謝。

錯誤訊息是什麼(如有)?

執行在此節點停止
n8n 在執行此次執行時可能已耗盡記憶體。如何避免這種情況的更多上下文和提示

請分享您的工作流程

此專案涉及多個工作流程和子工作流程。雖然我們希望提供盡可能多的上下文,但我們無法公開共享這些檔案,因為它們包含我們的內部公司連接和設定詳細資訊。如果可能的話,很樂意透過支援電子郵件提供這些。

以下是一個出錯工作流程的範例。

分享最後一個節點返回的輸出

最後一個節點沒有輸出,只顯示「執行在此節點停止」錯誤橫幅。

關於您的 n8n 設定的資訊

  • n8n 版本:2.21.3
  • 資料庫(預設:SQLite):sqlite
  • n8n EXECUTIONS_PROCESS 設定(預設:own、main):
  • n8n 運行方式(Docker、npm、n8n Cloud、桌面應用程式):n8n Cloud
  • 作業系統:Windows 11 Pro

你可以還原到之前運行正常的 n8n 版本嗎?

嗨,我認為我無法透過 n8n 控制板降級版本 - 只能在最新的 beta 版或穩定版之間切換。

我在本週更新 N8N 後遇到了相同的問題。同樣的「記憶體不足」錯誤正在發生。這些工作流程在過去 6 個月一直運作良好,但現在因為這個問題所有工作流程都被停用了。

我也減少了負載,但同樣的問題仍然在發生。以前我在處理更重的工作負載時,N8N 從未崩潰過。現在,即使只處理之前負載的大約 60%,它仍然在崩潰。

嗨,我認識這個問題 – 這是 n8n Cloud 上常見的記憶體限制問題,由於項目負載失控造成。

原因在於你的工作流程處理 CRM 聯絡人的方式。這是可以解決的,但正確的修復策略取決於你的迴圈目前是如何構建的,以及有多少個聯絡人同時運行。

兩個問題:

  • 工作流程每天大約要處理多少個聯絡人?

  • 你是否使用 Split-in-Batches 節點,還是所有操作都在一次循環中進行?

這樣我就能告訴你確切需要改變什麼。

時機(在運作正常數個月後於本週開始出現)加上多人看到此問題,指向最近 n8n 更新中的迴歸。現在值得檢查的兩件事:

  1. 根據變更日誌檢查你的 n8n 版本 - 如果你使用 n8n Cloud,可能已自動更新。查找與你目前版本周圍的執行資料處理或 AI 節點記憶體管理相關的任何變更。

  2. 對於工作流本身:遍歷 CRM 聯絡人的 AI 代理呼叫是可能的記憶體尖峰點 - 每個代理轉向在執行完成之前會保留記憶體中的執行內容。如果批次大小未受控制(例如,所有聯絡人通過 Loop 節點並行執行而沒有「Split in Batches」),n8n 更新改變執行快照儲存方式可能會導致突然尖峰。嘗試將 AI 代理呼叫包裝在 Split in Batches 節點中,批次大小設為 10-20,看記憶體是否穩定。

@glenbenatiro,早上好!
無法斷定這是bug,首先比較一下所有數據量是否相同,比較之前能運作的版本和現在的版本(例如:已處理的聯絡人數量、payload的大小),然後我會在生產環境中停用成功執行的保存功能。