我有一个部署到heroku的nodejs服务器。除了每天一次解析相当大的数据(~20mb JSON文件)之外,它没有太多负载。
macbook pro需要大约20秒。
Heroku开始抱怨内存限制Error R14 (Memory quota exceeded)
并最终终止该过程。
如何让脚本在指定的内存限制下运行?如果它需要几分钟而不是20秒,那没关系。
答案 0 :(得分:1)
您可以通过将--max_old_space_size
设置为适合您的dyno的限制来进行本地测试:
node --optimize_for_size --max_old_space_size=460 --gc_interval=100 server.js
这个问题("未指定的JS程序如何使用更少的内存")太宽泛而无法具体回答。通常,您需要同时分配更少的对象。在本地运行您的应用程序应该可以帮助您识别热点(您将获得分配错误)。