内存泄漏与已解决的承诺仅由全局句柄保留

时间:2019-08-01 17:09:10

标签: node.js

inspector screenshot

为什么会有仅由“全局句柄”保留的,已经被解决或拒绝并且从未进行垃圾收集的承诺?

我在node.js应用程序上发生内存泄漏。使用chrome inspector,我可以看到已经解决了Promises。它们的状态为“已解决”,结果为IncomingMessage。它们显然与成功完成的http请求有关。 我可以在保留者视图中看到,它们仅由“全局句柄”保留。 调用用async-await和try-catch包装。

1 个答案:

答案 0 :(得分:0)

我们找到并修复了泄漏。它是由从axios接收并通过管道传输到客户端的流造成的,这些流被销毁并释放而不会被耗尽。解决方案是调用stream.resume()而不是destroy()。

相关问题