首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >流星/致命错误: CALL_AND_RETRY_2分配失败-进程内存不足

流星/致命错误: CALL_AND_RETRY_2分配失败-进程内存不足
EN

Stack Overflow用户
提问于 2014-10-31 05:48:29
回答 2查看 860关注 0票数 1

我正在进行一个流星0.9.2.2和陨石0.9.2的项目。我正在尝试运行我现有的流星应用程序,但是,我在“找出最好的软件包版本来使用”上有一个问题,这可能需要花点时间。

最后得到以下错误:

致命错误: CALL_AND_RETRY_2分配失败-进程内存不足

代码语言:javascript
复制
/usr/local/lib/node_modules/meteorite/lib/command.js:41
throw "Command exited with " + code + "/" + signal;
^
Command exited with null/SIGABRT

我想知道是否有办法纠正这个错误?

运行流星更新时,ios内存是什么样的:

记忆截图

EN

回答 2

Stack Overflow用户

发布于 2014-10-31 11:25:57

流星在使用记忆时是相当沉重的。尤其是在安装软件包及其依赖项时。

作为一般的经验法则,请确保至少有1gb的RAM。如果您有512 If,您可能会遇到这样的问题。

这是关于Meteor的一个众所周知的问题,没有其他解决办法:https://github.com/meteor/meteor/issues/2475

另一种选择是增加交换大小。

票数 1
EN

Stack Overflow用户

发布于 2017-03-09 11:06:07

我添加这个是因为我有一个类似的问题,我只是设法解决了流星1.4.3.1下的问题。

背景:

问题是流星调用节点来构建。当它运行时,节点为它运行的V8引擎分配一定数量的内存。在更大的项目中,分配给V8的默认内存不足以跟踪所有东西--它试图垃圾--在接近极限时收集,但最终耗尽空间,崩溃,并显示错误。

如果我们只是直接运行节点,我们可以使用--最大旧空间大小选项来运行它,这将允许我们为V8引擎设置最大内存。问题是流星在自己的上下文中调用节点,并有自己的选项,所以我们不能直接将标志添加到流星呼叫中。

解决方案:

看来,当流星1.4.3.1 (可能还有其他人)调用节点时,它将传递在TOOL_NODE_FLAGS环境变量中指定的标志和选项(其他人提到了NODE_OPTIONS,但它并不适用于我的流星版本--这些标志只是被丢弃)。

因此,如果要将节点引擎的最大内存增加到4GB,则添加一个环境变量:

代码语言:javascript
复制
TOOL_NODE_FLAGS="--max-old-space-size=4096" 

对于正在运行meteor的上下文,应该将该选项传递给节点调用。

(如果您不知道在哪里设置环境变量-它通常将在您的IDE构建配置或构建脚本中。如果您想要检查该选项是否实际正在被读取,请尝试将其更改为胡言乱语--它会导致流星抛出错误)

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

https://stackoverflow.com/questions/26668268

复制
相关文章

相似问题

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