【发布时间】:2021-03-15 18:05:41
【问题描述】:
最近我的 heroku 应用程序开始出现内存错误。我并没有真正改变任何可能影响它的东西。经过一些浸泡测试和调试后,我注意到测功机上运行了两个节点进程:
这是我从 ps 命令中看到的示例:
~ $ ps aux | grep "node"
u18923 46 0.0 0.0 2616 612 ? S 17:54 0:00 sh -c node ${NODE_INSPECT_FLAG} --gc-interval=100 --max-old-space-size=460 build-server/server/index.js
u18923 47 0.6 0.1 982148 79796 ? Sl 17:54 0:03 node --gc-interval=100 --max-old-space-size=460 build-server/server/index.js
u18923 72 12.9 0.3 1079028 195700 ? Sl 17:54 1:02 /app/.heroku/node/bin/node --gc-interval=100 --max-old-space-size=460 /app/build-server/server/index.js
/app/.heroku/node/bin/node 内存消耗增加,最终导致应用崩溃,因为环境限制为 512MB 内存。
为什么有两个节点进程?为什么来自/app/.heroku 的那个会占用更多的内存并最终崩溃。我该如何解决这种情况?
【问题讨论】: