我正试图解决我在Node应用程序中遇到的一些内存泄漏的根本问题(v 0.8.6)。
为了帮助解决这个问题,我正在使用https://github.com/c4milo/node-webkit-agent。由于应用程序很大,我已经在测试台中隔离了这个问题,以限制大型应用程序中的噪音量。
我们运行测试,然后将Chrome代理附加到流程。该对象似乎应该被清理,因为没有任何保留路径在任何根对象上结束。我对保留路径如何有缺陷有所了解,还有其他一些我缺失的东西吗?我已经上传了调试会话下面的屏幕截图,显示了我认为应该是GC的对象以及不会在任何GC根对象上结束的保留路径。
答案 0 :(得分:2)
解决问题的另一种方法是尝试dtrace。我强烈建议您将项目放在基于illumos的发行版中,如smartOS:
这篇文章讨论了如何使用dtrace在节点应用程序中查找内存泄漏:http://dtrace.org/blogs/bmc/2012/05/05/debugging-node-js-memory-leaks/