我有一个用node.js编写的应用程序,它的工作方式应该是这样的。唯一的问题是内存一直在增加,直到达到1.3 it,立即下降到~400Mb。一开始我以为是内存泄漏,但进一步的调查显示没有泄漏。

对堆转储的分析并没有给出任何有用的信息,只是证明没有泄漏。我使用的是node.js v4.2.1,而应用程序大量使用的是传输设置为['websockets']的websockets (socket.io)。为了实现负载均衡,我使用了PM2 in cluster mode (4 instances)。
可能的原因是什么?后果是什么?你认为从长远来看,它会使服务器崩溃吗?
发布于 2015-12-27 09:50:39
如果您计划使用pm2在不同的进程或机器之间分配连接负载,则必须确保与特定会话id相关联的请求连接到发起它们的进程。如果连接错误进程,就会向服务器发出大量的ajax请求。你可以使用浏览器中的检查器来检查它,刷新网页,检查套接字是否正确运行.它将使内存增加得更快,当它达到限制时,它将调用gc()。
https://stackoverflow.com/questions/34476864
复制相似问题