var server = require('socket.io').listen(1781);
server.set('log level', 1);
setInterval(function() {
console.log(process.memoryUsage());
}, 60000);
我的Socket.io 0.9.16和Node 0.10.12 / 0.10.13应用程序中存在内存泄漏。 连接一些客户端后,RSS内存增加,但在断开连接后,内存不会下降。我将我的应用程序剥离到上面的代码,以排除我的任何错误。 连接1000个客户端后,该过程需要65MB(最初花费约15MB),在断开所有客户端后,内存保持高电平。有什么帮助吗?
我读到的所有文章/答案都是关于node或socket.io的早期版本。我迫切希望找到解决方案。
答案 0 :(得分:0)
我在socket.io上遇到过类似的问题。似乎客户端连接后,它永远不会从socket.io中删除。
您可以调试SocketIoServer.sockets.sockets的值。它是一个包含所有连接(和断开连接的套接字)的数组。也许那就是你的记忆泄漏所在。
另外,我刚看到socket.io发布了1.0版本。您可以尝试一下,看看它是否解决了这个问题。
答案 1 :(得分:0)
我使用nodetime来跟踪内存使用情况,看起来它有内存泄漏。放弃节点时间后,内存消耗稳定。