我在节点集群设置中使用来自我的子实例的 process.send()
时发现内存泄漏 .
有问题的代码:
var dataToSend = {
iterations: k,
data: output
}
process.send(dataToSend)
output
变量包含一个大型数组(例如1000个索引)的对象,每个对象包含8个数字属性和2个字符串属性
如果我注释 process.send(dataToSend)
,内存泄漏就消失了 .
我已经尝试 null
ing output
, dataToSend
,然后在启用手动GC的情况下运行节点时强制使用 global.gc()
进行垃圾回收,但似乎没有任何工作,这些子进程的RSS内存大小不断增长 .
似乎将对象传递给 process.send()
以某种方式保留对它的引用,使其无法释放垃圾收集?
任何意见,将不胜感激