在mongodb和node js中堆满内存

时间:2018-08-14 10:34:29

标签: node.js mongodb mongoose ubuntu-16.04 node-modules

自上周以来,我在实时服务器上加载此网页面板的某些页面时收到此错误,这将使我504网关超时,服务器将给出此错误:

enter image description here

当我将服务器置于nodemon并运行以下命令时:

nodemon --max_old_space_size = 4098 server.js

它将正常工作,但是我必须永远运行服务器。我不明白为什么我的节点进程会出现此错误

2 个答案:

答案 0 :(得分:0)

我认为默认情况下,节点会为您提供1.7GB的可用堆空间。您超出此级别,这将导致错误。据我所知,您需要使用max_old_space_size的命令参数来为其提供自定义堆内存限制。除了将其设置为部署脚本的一部分之外,我认为没有全球性的设置方法。

我建议您查看一下应用程序如何存储内存,看看是否可以摆脱数组中的内存,而不必这样做。如果与数据库有关,那么您可能一次只需要查询一小部分数据即可。

答案 1 :(得分:0)

现在可以使用环境变量来增加内存。像这样设置环境变量

export NODE_OPTIONS=--max_old_space_size=4096

这个answer