Node.js nodejs垃圾收集输出

Node.js nodejs垃圾收集输出,node.js,garbage-collection,v8,Node.js,Garbage Collection,V8,有人知道我在哪里可以看到nodejs中--trace gc选项的输出吗 我不是要解释gc是如何工作的,因为有很多关于它的信息,只是为了--trace gc的输出 我能猜出一些字段的含义,但我不知道其他一些字段的含义 例如: 括号中的数字是什么意思 “步骤”表示(可能与增量标记和延迟相关) 扫掠) 写入的堆的大小是总堆?(添加新区域和旧区域) 例如: [12994] 77042 ms: Scavenge 260.7 (298.1) -> 247.7 (298.1) MB, 9.4

有人知道我在哪里可以看到nodejs中--trace gc选项的输出吗

我不是要解释gc是如何工作的,因为有很多关于它的信息,只是为了--trace gc的输出

我能猜出一些字段的含义,但我不知道其他一些字段的含义

例如:

  • 括号中的数字是什么意思
  • “步骤”表示(可能与增量标记和延迟相关) 扫掠)
  • 写入的堆的大小是总堆?(添加新区域和旧区域)
例如:

[12994]    77042 ms: Scavenge 260.7 (298.1) -> 247.7 (298.1) MB, 9.4 ms [allocation failure].
[12994]    77188 ms: Scavenge 261.7 (298.1) -> 249.0 (300.1) MB, 7.4 ms [allocation failure].
[12994]    77391 ms: Scavenge 263.8 (301.1) -> 250.6 (302.1) MB, 8.1 ms [allocation failure].
[12994]    77511 ms: Scavenge 264.8 (302.1) -> 251.8 (304.1) MB, 7.4 ms [allocation failure].
[12994]    77839 ms: Scavenge 273.4 (304.1) -> 260.7 (305.1) MB, 8.3 ms (+ 55.7 ms in 201 steps since last GC) [allocation failure].
[12994]    78052 ms: Scavenge 274.3 (305.1) -> 261.9 (307.1) MB, 8.2 ms (+ 54.4 ms in 192 steps since last GC) [allocation failure].
[12994]    78907 ms: Scavenge 277.3 (308.1) -> 264.2 (309.1) MB, 10.1 ms (+ 51.5 ms in 196 steps since last GC) [allocation failure].
[12994]    80246 ms: Mark-sweep 272.2 (310.1) -> 82.9 (310.1) MB, 45.2 ms (+ 195.4 ms in 690 steps since start of marking, biggest step 1.2 ms) [GC interrupt] [GC in old space requested].
[12994]    80868 ms: Scavenge 99.3 (310.1) -> 85.5 (310.1) MB, 6.5 ms [allocation failure].
[12994]    81039 ms: Scavenge 100.2 (310.1) -> 86.8 (310.1) MB, 6.9 ms [allocation failure].
[12994]    81455 ms: Scavenge 102.2 (310.1) -> 88.8 (310.1) MB, 5.5 ms [allocation failure].
更新

查看创建输出的文件(如mtth所建议的),我添加了所有字段的解释,以防有人感兴趣:

[12994]    77042 ms: Scavenge 260.7 (298.1) -> 247.7 (298.1) MB, 9.4 ms [allocation failure].
[pid] <time_since_start> : 
      <Phase> <heap_used_before (old+young)> (<allocated_heap_before>) ->
              <heap_used_after (old+young)> (<allocated_heap_after>) MB, 
              <time_spent_gc> [<reason_of_gc>]
[12994]77042毫秒:清除260.7(298.1)->247.7(298.1)MB,9.4毫秒[分配失败]。
[pid]:
() ->
()MB,
[]
此外,当旧空间地面军事系统(已满)之间存在任何增量标记时,它会出现在清除跟踪中,如下所示:

(+ <incremental_time_duration> ms in <incremental_marking_steps> steps since last GC)
(+ms,自上次GC以来的步长)
当轨迹对应于旧空间gcs(满)时,它还显示最大步长持续时间


这些痕迹对应于nodejs 0.12.9,它们看起来很相似,至少在nodejs 4.2.2中是如此,我能找到的最接近文档是。使用中的注释,我们可以了解每个条目的含义。例如:

  • 括号里的数字是什么意思

parens中的数字表示从操作系统分配的总内存(前面的数字是堆中对象使用的总内存)。

我将用每个字段的含义更新这个问题。谢谢。