将process.send()与Node JS集群一起使用时发生内存泄漏

时间:2018-12-09 17:54:34

标签: javascript node.js memory memory-leaks child-process

从节点集群设置中的子实例中使用process.send()时,我看到内存泄漏。

相关代码:

var dataToSend = {
    iterations: k,
    data: output
}
process.send(dataToSend)

output变量包含一个大型对象数组(例如,索引数为1000),每个对象包含8个数字属性和2个字符串属性

如果我将process.send(dataToSend)注释掉,则内存泄漏消失了。

我尝试过nulloutputdataToSend,然后在启用了启用手动GC的节点上运行时,强制使用global.gc()进行垃圾收集,但似乎没有任何效果,这些子进程的RSS内存大小只是不断增长。

似乎将对象传递给process.send()仍以某种方式保留了对它的引用,从而使其无法释放以进行垃圾收集?

任何建议将不胜感激

0 个答案:

没有答案