【发布时间】:2023-10-23 00:11:01
【问题描述】:
在我的程序中,使用带有 Redis 适配器的 Socket.io 向所有套接字发出一些值,存在内存泄漏问题。
代码片段:
....node modules require statements here....
const server = http.createServer(app);
io = socketIo(server);
io.adapter(socketIoRedis({ host: redis_host, port: redis_port }));
for(....) {
data_out = {A:10, B:20, id:'1234'} //Just sample data, it changes by loop
data_ref = data_out[id]
io.emit(data_ref, JSON.stringify(data_out));
}
在服务器中,当使用pm2运行程序并监控内存(pm2 monit)时,内存不断增加。并且服务器只是挂起达到可用的最大内存大小。
如何避免内存增加?没有连接的客户端也会发生这种情况。
【问题讨论】:
标签: node.js memory-leaks socket.io pm2