首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在node.js中处理20000的数组时出错

在node.js中处理20000的数组时出错
EN

Stack Overflow用户
提问于 2021-03-24 19:30:41
回答 1查看 65关注 0票数 1

在node.js中,数组的最大可赋值长度是多少?为什么会出现这些错误?

“致命错误:无效数组长度分配失败- JavaScript堆内存不足”

当我执行这段代码时,会出现这个错误。

代码语言:javascript
运行
复制
const answer = [];

for (let i = 0; i < 20000; i++) {
  for (let j = 0; j < 20000; j++) {
    answer.push(1);
  }
}

我认为这意味着超过了可以分配给数组的长度。那么,一个数组在node.js中的最大分配长度是多少?

谢谢!:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-24 19:50:09

V8 JavaScript引擎中的内存使用有严格的限制。32位的默认限制为~512mb,64位的限制为~1 1gb。

您可以像这样修改它,例如:

代码语言:javascript
运行
复制
node --max-old-space-size=4096 yourNodeFile.js

这会将限制更改为4 4GB

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66780127

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档