4 回答
TA贡献1821条经验 获得超6个赞
如果您查看源代码github / v8,似乎您尝试保留一个非常大的对象。根据我的经验,如果您尝试解析一个巨大的JSON对象,就会发生这种情况,但是当我尝试使用JSON和node0.11.13,一切正常。
您不需要更多--stack-size,您需要更多的内存:--max_new_space_size和/或--max_old_space_size。
我可以给您的唯一提示是尝试另一个JSON解析器和/或尝试将输入格式更改为JSON行而不是仅JSON。
TA贡献1829条经验 获得超7个赞
要解决此问题,您需要通过使用option增加内存限制来运行应用程序--max_old_space_size。默认情况下,Node.js的内存限制为512 mb。
node --max_old_space_size=2000 server.js
TA贡献1828条经验 获得超13个赞
我发现这max_new_space_size不是节点4.1.1中的选项,max_old_space_size仅靠它并不能解决我的问题。我将以下内容添加到我的shebang中,并且这些方法的组合似乎有效:
#!/usr/bin/env node --max_old_space_size=4096 --optimize_for_size --max_executable_size=4096 --stack_size=4096
[编辑]:4096 === 4GB的内存,如果您的设备内存不足,则可能需要选择较小的容量。
[更新]:运行grunt时还发现了此错误,该错误以前是这样运行的:
./node_modules/.bin/grunt
将命令更新为以下命令后,它不再出现内存错误:
node --max_old_space_size=2048 ./node_modules/.bin/grunt
- 4 回答
- 0 关注
- 1533 浏览
添加回答
举报