V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
veezzz
V2EX  ›  Node.js

socket.io 的内存使用问题

  •  
  •   veezzz · 2015-03-24 11:29:16 +08:00 · 3510 次点击
    这是一个创建于 3322 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我在测试socket.io(1.3.5)的时候发现,当用户断开连接后,socket.io的进程并没有释放内存,当用户不断连接再断开后,该进程的内存使用不断上升。这是需要自己手动释放连接的内存么,求指点。

    4 条回复    2015-03-25 14:24:22 +08:00
    czheo
        2
    czheo  
       2015-03-25 08:20:12 +08:00 via iPhone
    show me the code
    veezzz
        3
    veezzz  
    OP
       2015-03-25 13:16:58 +08:00
    @czheo 测试了下,好像是因为使用redis的模块引起的,我是这么用的

    in a.js
    var redis = require('redis'),
    redisClient = redis.createClient();

    var o = {
    find: function(id, callback){
    redisClient.get(id, function(err, reply){
    if(reply) callback(reply);
    });
    };
    };
    exports = module.exports = o;

    in b.js
    var o = require('a');
    o.find(function(r){});

    不知道这样的用法会有什么问题,求指点
    veezzz
        4
    veezzz  
    OP
       2015-03-25 14:24:22 +08:00
    @czheo 再次检查了 好像不是这个问题, 我用socket.io的官方例子测试也有这问题,断开连接没有释放内存,这个node 的 gc有关系么
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1747 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 16:27 · PVG 00:27 · LAX 09:27 · JFK 12:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.