【问题标题】:Tracking memory leaks in node.js - v8 profiler vs htop跟踪 node.js 中的内存泄漏 - v8 profiler vs htop
【发布时间】: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


    【解决方案1】:

    htop 作者在这里。您正在正确阅读 htop 数字。我不了解 V8 分析器,但在开始时的“12MB 与 4MB”问题上,很可能 V8 只计算您的 JS 数据,而 htop 计算进程的整个常驻内存使用情况,包括V8本身使用的C库等。

    【讨论】:

      猜你喜欢
      • 2012-02-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多