【问题标题】:Node heap out of memory节点堆内存不足
【发布时间】:2020-12-20 00:32:04
【问题描述】:

我在 StackOverflow 上看到了很多关于此的问题,但没有一个解决方案对我有用。

目前我正在跑步

node --max-old-space-size=16300 "/path/file.js"

但我仍然收到invalid array length Allocation failed - JavaScript heap out of memory...

我错过了什么?还有其他可以覆盖--max-old-space-size 的全局变量吗?

【问题讨论】:

  • 你能告诉我this返回什么吗?你的总内存是多少?另外显示 this 返回的内容。
  • 8-) 16300 是 16GB,难怪你得到这个错误,也许你应该升级你的机器:P
  • @JoseVasquez 在物理内存上考虑 8GB 吗?我认为由于我们使用虚拟内存,所以虚拟内存是有限制的,但这应该至少是实际内存的两倍......我得到这个错误只是在一个空数组上推动 70 亿0 /跨度>
  • 我实际上已经用 C++ 运行了相同的代码并且也崩溃了,所以可能没有足够的内存

标签: javascript node.js memory heap-memory


【解决方案1】:

考虑到您正在用 70 亿个零填充一个空数组。当涉及到与 Javascript 相同的 NodeJS 中的数字时,double-precision 64-bit binary format IEEE 754 这意味着 8 字节 - 通过计算所需的总大小为 7.000.000.000 数字 x 8 字节 / 1024^3 = 52,154 GB,总大小超过 16GB您使用控制台指定的金额。

【讨论】:

    猜你喜欢
    • 2019-01-21
    • 1970-01-01
    • 2021-05-20
    • 2013-09-10
    • 2021-07-05
    • 2018-02-10
    • 2013-08-09
    相关资源
    最近更新 更多