【发布时间】:2015-04-04 05:11:36
【问题描述】:
我收到“致命错误:JS 分配失败 - 进程内存不足”
尽管我使用的是命令,但在运行 nodejs 进程时出现中止(核心转储)错误:
node --max-old-space-size=8192 run.js
我使用的是 v10.25。
代码只是从 aws s3 下载数据(大小=2gb),并且有一些相关的数据操作。
为什么 nodejs 会耗尽内存? 如何在没有致命错误的情况下运行这个 nodejs 进程? 任何帮助表示赞赏。
编辑 1:-
检查
console.log(util.inspect(process.memoryUsage()));
就在崩溃之前给出了这个:-
{ rss: 1351979008, heapTotal: 1089684736, heapUsed: 1069900560 }
【问题讨论】:
-
您是否尝试使用 io.js 或 node v0.12.x 编写脚本?两者的最新版本随附的 v8 版本应包含 a fix that properly sets the resource limits。
-
另外,您是否将整个 2GB 存储在内存中?如果有,真的有必要吗?
-
@mscdex 是的,我在内存中存储了 2GB,我需要进行一些数据操作并将其发送到另一个数据库。
标签: node.js out-of-memory