7

我试图解决我在使用 Node 应用程序(v 0.8.6)时遇到的一些内存泄漏的根本问题。

为了帮助解决这个问题,我正在使用https://github.com/c4milo/node-webkit-agent。因为应用程序很大,所以我在测试台中隔离了这个问题,以限制大型应用程序中的噪音量。

我们运行测试,然后将 Chrome 代理附加到进程。该对象似乎应该被清理,因为没有保留路径在任何根对象处结束。我对保留路径的理解是否存在缺陷,还有什么我遗漏的吗?我在调试会话下方上传了一个屏幕截图,显示了我认为应该被 GC 处理的对象以及不会返回任何 GC 根对象的保留路径。

http://imgur.com/xV9xR

4

1 回答 1

2

另一种解决问题的方法是尝试 d​​trace。我强烈建议将您的项目放在基于 illumos 的发行版中,例如smartOS

这是一篇关于如何使用 dtrace 来查找节点应用程序中的内存泄漏的文章:http: //dtrace.org/blogs/bmc/2012/05/05/debugging-node-js-memory-leaks/

于 2012-11-16T16:42:37.773 回答