【问题标题】:FATAL ERROR: JS Allocation failed - process out of memory Aborted (core dumped) - Node.js致命错误:JS 分配失败 - 进程内存不足中止(核心转储) - Node.js
【发布时间】: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


【解决方案1】:

对于遇到此问题的任何人。

我安装了nodejs v12.02来使用--max-old-space-size=8192

它在 v10.25 中不起作用。

【讨论】:

  • --max-old-space-size=8192 它抛出--max-old-space-size=8192: command not found。请用解释更新答案
  • @vamsi 它是一个控制台参数。 node --max-old-space-size=8192 app_name
猜你喜欢
  • 1970-01-01
  • 2014-11-23
  • 2019-06-28
  • 2015-01-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-19
相关资源
最近更新 更多