小编lmq*_*kfh的帖子

Socket.io 和 node.js,看不懂内存使用情况

我目前在我的服务器上使用 socket.io v1.4.2 和 node.js v0.10.29。我尝试跟踪我的应用程序中的内存泄漏,我不确定,但我认为 socket.io 是我问题的一部分。

所以这里是服务器的代码(演示示例):

var server = require ('http').createServer ();
var io = require ('socket.io')(server);

io.on ("connection", function (socket) {

    socket.on ('disconnect', function (data) { /* Do nothing */ });
});
Run Code Online (Sandbox Code Playgroud)

第 1 步:内存:58Mb

第 2 步:我创建了很多客户端(~10000),内存:300 Mb

第 3 步:我关闭所有客户端并等待 GC 完成他的工作

第 4 步:我查看我的内存:100 Mb :'(

第 5 步:与第 2 步和第 3 步相同

第 6 步:内存 160Mb...

依此类推,内存不断增长。

我认为 GC 是懒惰的,所以我使用以下代码重试:

setInterval (function () {
    global.gc ();
}, 30000);
Run Code Online (Sandbox Code Playgroud)

我用以下命令启动我的 app.js:

node --expose-gc …
Run Code Online (Sandbox Code Playgroud)

memory-leaks node.js socket.io

5
推荐指数
1
解决办法
3759
查看次数

标签 统计

memory-leaks ×1

node.js ×1

socket.io ×1