我有一个用node.js编写的应用程序,它可以正常工作。唯一的问题是内存不断增加,直到达到1.3Gb并立即降至~400Mb。起初我虽然是内存泄漏,但进一步调查显示没有泄密。
堆转储的分析并没有提供任何有用的信息,只是证明没有泄漏。我使用node.js v4.2.1
并且应用程序大量使用websockets (socket.io)
,传输设置为['websockets']
。使用PM2 in cluster mode (4 instances)
进行负载均衡。
可能是什么原因?有什么后果?您认为从长远来看它可能会使服务器崩溃吗?
答案 0 :(得分:0)
如果您计划使用pm2
在不同进程或计算机之间分配连接负载,则必须确保与特定会话ID关联的请求连接到发起它们的进程。如果它连接错误的进程,它将向服务器发出大量请求ajax。您可以在浏览器中使用检查器进行检查,刷新Web检查套接字正确运行。它会使内存增加得更快,当它限制时,它将调用gc()。