我正在运行node.js表达生产应用程序。运行几个小时后,在堆快照中我可以看到每个worker有超过10个巨大的TLSWrap对象(这些是应用程序中最大的对象)。
有什么想法吗? 谢谢,
答案 0 :(得分:3)
我相信你的内存泄漏是由TLSWrap对象以外的东西造成的,可能是在你的应用层。
根据最近关闭的节点问题https://github.com/nodejs/node/issues/4250,TLSWrap错误地将其大小报告为大数(指向int的指针)。 TSLWrap对象的实际大小要小得多。
我也在我的heapdumps中看到非常大的TLSWrap对象,但在升级到节点5.3.0(包括修复程序https://github.com/nodejs/node/pull/4268)之后,我可以确认它们现在在我的正确显示中非常小heapdumps。