最近,我的heroku应用程序开始收到内存错误。我并没有真正改变任何可能影响它的东西。经过一些浸泡测试和调试之后,我注意到dyno上有两个节点进程在运行:
下面是我从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由于环境限制在512 is内存,/ app /..heroku/节点/bin/节点内存消耗增加,最终导致应用程序崩溃。
为什么有两个节点进程?为什么来自/app/.heroku的人占用了更多的内存,最终崩溃了。我怎样才能解决这个问题?
发布于 2021-03-16 15:55:16
这是因为使用了并发性为1的https://www.npmjs.com/package/throng。看起来本地也有某种内存泄漏,我检查的是"forker“(父进程)进程,而不是正在增长的实际进程。
https://stackoverflow.com/questions/66643267
复制相似问题