> For the complete documentation index, see [llms.txt](https://doc.duaer.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.duaer.com/zh/flow-logic/error-handling/memory-errors.md).

# 修复 Duaer 的内存问题

Duaer 不限制每个节点能取多少数据。执行需要的内存超过可用量时会出错。这一页说明如何识别并避免。
## 怎么认出内存不够

画布上可能出现 Execution stopped at this node 一类提示。自托管时，服务器日志里常见 Allocation failed - JavaScript heap out of memory。

常见原因包括：JSON 条目过多、二进制文件过大、节点过多、Code 等偏重的节点、以及同时跑多条数字组织。手动执行会多拷一份数据给前端，内存更高。

## 先减消耗，再加内存

- 把数据拆小。例如每次执行处理 200 行，而不是一次 10,000 行。用 [Loop Over Items](/zh/flow-logic/looping.md) 分批。
- 能不用 Code 节点就不用。
- 处理大数据时避免手动执行。
- 拆成 [子数字组织](/zh/flow-logic/subworkflows.md)，让子数字组织只把少量结果交回父级。

自托管时也可以加大进程堆，或用 [队列模式](/zh/hosting/scaling/queue-mode.md) 把执行分到 worker。详见 [托管侧内存](/zh/hosting/scaling/memory-errors.md)。只重试报错节点，堆还是满的。
## Questions

### Duaer 报 JavaScript heap out of memory 是什么意思？

这次执行把 Node.js 堆用完了。常见原因是一次带了太多条目或大二进制文件。先分批、少带数据，再加大堆或用队列模式。

### Duaer 内存不够时先改什么？

减少每次处理的数据量，用 Loop Over Items 分批，避免手动执行大数据，必要时拆子数字组织。自托管再加大堆或启用队列模式。只重试报错节点通常无效。

