meteor内存不足

我使用meteor来做报废引擎,我必须做一个HTTP GET请求,这给我一个XML,但这个XML大于400个。

我得到一个“内存不足”的例外。

result =Meteor.http.get 'http://SomeUrl.com' 

致命错误:JS分配失败 – 进程内存不足

有一种方法可以增加variables的内存限制吗?

我在Windows上开发,并有相同的错误。 在我的情况下,是由大量的console.log语句引起的。 我禁用了日志语句,并再次正常工作。

如果你在Windows上开发

在/APPData/Local/.meteor/packages/meteor-tool/<build-tool-version>/中find/APPData/Local/.meteor/packages/meteor-tool/<build-tool-version>/

编辑调用node.exe并更改为的batch file的最后一行

"%~dp0\dev_bundle\bin\node.exe" --max-old-space-size=2048 "%~dp0\tools\main.js" %*

希望这可以帮助

可以增加使用meteor生成的节点应用程序的可用内存。

我没有成功地在meteor脚本中调用节点的实例中使用–max-old-space-size标志,也没有按照gatolgaj的build议尝试改变meteor工具中的脚本

但是,设置环境variablesNODE_OPTIONS="--max-old-space-size=8192"对我来说没有任何作用。

我在这个主题中看到它提到: https : //groups.google.com/forum/#!topic/meteor- talk/ C5oVNqm16MY

您需要增加服务器上的内存量,例如启用交换内存 。 看看如何,假设你在Linux上,你可以f.ex. 请阅读DigitalOcean 在Ubuntu 14.04上启用交换内存的指南 。

我不知道有什么方法来处理Node内存耗尽的情况,除了也许你可以将GET请求分成一个subprocess,这样整个服务器不会在内存不足的情况下崩溃。

要增加节点的内存限制,可以使用Node的–max_old_space_size选项。

在Windows 10上使用Meteor 1.1.0.3也是如此:

 C:\Users\Cees.Timmerman\AppData\Local\.meteor\packages\meteor-tool\1.1.4\mt-os.windows.x86_32\tools\fiber-helpers.js:162 }).run(); ^ FATAL ERROR: Evacuation Allocation failed - process out of memory 

解决方法是将控制台日志级别设置为“警告”,而不是像Winston 2.1.0( var level = Meteor.settings.log_level )这样的logging程序包在内部使用的settings.json的“debug”。

我知道这个问题解决了,有点老,但我想分享我的经验。 经过一番调查,我刚刚更新了我的Meteor版本。 看来他们最近更关心内存不足的错误。 所以我会鼓励你更新到新的Meteor版本。