配置Nodejs中的最大旧空间大小

时间:2015-12-04 02:27:44

标签: node.js mongodb out-of-memory

我是nodejs和mongodb的新手。当我从nodejs应用程序中的mongodb读取大约100000条记录时,我遇到了问题。 当我尝试获得100000条记录时,我收到了这个错误:

致命错误:CALL_AND_RETRY_LAST分配失败 - 处理内存不足

我搜索google并且每个人都说配置max old space size参数因为v8引擎有大约1,9Gb的堆memmory。

我的观点是,我通过eclispe运行我的应用程序,我不知道如何配置max-old-space-size参数。

任何人都可以提示吗?

非常感谢你!

ps:我的英语不好,所以如果你无法理解我的问题,那就没事了。

2 个答案:

答案 0 :(得分:18)

使用node --max_old_space_size=5000 yourapp.js允许5000 MB。查看命令行参数的eclipse启动设置,您可以在其中添加此命令。

但是,正如评论所说,您应该重新考虑将其加载到内存中,然后将其流式传输到客户端。

答案 1 :(得分:-3)

您可以将以下内容添加到package.json

PT25H

这不同于另一种方法,该方法只需编写一次并在每次运行时进行配置。 注意:您无需显式运行此命令,npm start每次都会对其进行配置