在内存限制下在nodeJS服务器上运行脚本

时间:2017-06-10 20:46:22

标签: node.js heroku

我有一个部署到heroku的nodejs服务器。除了每天一次解析相当大的数据(~20mb JSON文件)之外,它没有太多负载。

macbook pro需要大约20秒。

Heroku开始抱怨内存限制Error R14 (Memory quota exceeded)并最终终止该过程。

如何让脚本在指定的内存限制下运行?如果它需要几分钟而不是20秒,那没关系。

1 个答案:

答案 0 :(得分:1)

您可以通过将--max_old_space_size设置为适合您的dyno的限制来进行本地测试:

node --optimize_for_size --max_old_space_size=460 --gc_interval=100 server.js

这个问题("未指定的JS程序如何使用更少的内存")太宽泛而无法具体回答。通常,您需要同时分配更少的对象。在本地运行您的应用程序应该可以帮助您识别热点(您将获得分配错误)。