【发布时间】:2013-10-16 17:37:55
【问题描述】:
最近我们发现我们的 node.js 应用很可能存在一些内存泄漏(htop 中显示的内存消耗正在增长)。我们已经设法将少量代码隔离到单独的脚本中,这仍然会导致内存泄漏,现在正试图追捕它。然而,我们在分析和理解htop 工具和这个 v8 分析器收集的测试结果时遇到了一些麻烦:http://github.com/c4milo/node-webkit-agent
脚本启动后 htop 显示以下内存消耗:
http://imageshack.us/a/img844/3151/onqk.png
然后应用程序运行 5 分钟,我每 30 秒拍摄一次堆快照。 5分钟后结果如下:
堆快照大小:
http://imageshack.us/a/img843/1046/3f7x.png
5 分钟后来自htop 的结果:
http://imageshack.us/a/img33/5339/2nb.png
所以如果我没看错的话,V8 分析器显示没有严重的内存泄漏,但htop 显示内存消耗从 12MB 增加到 56MB!谁能说出这种差异来自哪里?为什么即使在测试开始时htop 显示 12MB 和 4MB 的分析器显示?
【问题讨论】:
标签: node.js memory-leaks profiling v8 htop