在 mongodb 和节点 js 中堆内存不足
Posted
技术标签:
【中文标题】在 mongodb 和节点 js 中堆内存不足【英文标题】:Heap out of memory in mongodb and node js 【发布时间】:2019-01-21 04:35:38 【问题描述】:自一周以来,当我加载我的网络面板的某些页面时,我在实时服务器中收到此错误,它会给我 504 网关超时,服务器会给出此错误:
当我将服务器放入 nodemon 并运行以下代码时:
nodemon --max_old_space_size=4098 server.js
它会正常工作,但我必须永远运行我的服务器。我不明白为什么我的节点进程会出现此错误
【问题讨论】:
【参考方案1】:我认为默认节点为您提供 1.7GB 的堆供您使用。您超出了导致错误的级别。据我所知,您需要使用max_old_space_size
的命令参数来给它一个自定义堆内存限制。除了将其作为部署脚本的一部分之外,我认为没有全局方法来设置它。
我建议查看您的应用程序如何存储内存,看看您是否可以摆脱数组中的内存以及您不需要的内存。如果它与数据库相关,那么您可能一次只需要对一小块数据进行查询。
【讨论】:
【参考方案2】:现在可以通过环境变量增加内存。像这样设置你的环境变量
export NODE_OPTIONS=--max_old_space_size=4096
这个这个answer
【讨论】:
以上是关于在 mongodb 和节点 js 中堆内存不足的主要内容,如果未能解决你的问题,请参考以下文章