我如何理解node-memwatch统计数据?

时间:2015-01-25 23:25:00

标签: javascript node.js v8 node-memwatch

{
  "num_full_gc": 17,
  "num_inc_gc": 8,
  "heap_compactions": 8,
  "estimated_base": 2592568,
  "current_base": 2592568,
  "min": 2499912,
  "max": 2592568,
  "usage_trend": 0
}

来自memwatch nodejs库:

https://github.com/lloyd/node-memwatch#heap-usage

其中哪一个代表脚本使用的内存?别人的意思是什么? github页面并没有真正解释它。

2 个答案:

答案 0 :(得分:0)

嗯,其中四个代表脚本使用的内存量。我认为" current_base"很可能就是你想要的那个;我相信它是脚本当前使用的内存量。我相信" estimated_base"是脚本使用的典型内存量的估计值。

答案 1 :(得分:0)

gcstats的总体目标是提供有关内存使用情况的指标,该指标比简单的堆RSS大小采样更有意义。以下是上面的输出字段的含义:

  • num_full_gc 是自首次需要gcstats以来已发生的完整标记和清除垃圾收集运行的次数。
  • num_inc_gc 是V8执行增量垃圾收集的次数,在V8中称为清除GC。
  • heap_compactions 是在完整的GC之后,V8实际上压缩了堆并释放了分配的内存的次数。
  • usage_trend 是一个带符号的魔术数字,它指示堆中最近的百分比变化。此号码将在后面说明。
  • estimated_base 是对程序使用的最小JavaScript堆内存量的估计。也就是说,在最近的几次堆压缩中,堆平均缩小到了多少。
  • 从一开始
  • min ,您的进程已使用的最小内存量是多少。
  • 最大与上述相同,但最大。

信用归劳埃德(Lloyd hilaiel)-http://lloyd.io/is-my-nodejs-program-leaking