node.js - node.js --trace-gc 输出的含义是什么?

标签 node.js garbage-collection

当使用 --trace-gc 选项时,我从 node.js 得到以下输出

[24851]      852 ms: Scavenge 26.8 (57.2) -> 20.8 (58.2) MB, 3.1 ms [allocation failure].
[24851]      927 ms: Scavenge 28.7 (58.2) -> 22.4 (59.2) MB, 2.0 ms [allocation failure].
[24851]     1013 ms: Scavenge 30.4 (61.2) -> 24.1 (61.2) MB, 2.3 ms [allocation failure].
[24851]     1067 ms: Scavenge 31.6 (62.2) -> 24.8 (62.2) MB, 2.1 ms [allocation failure].
[24851] Speed up marking because marker was not keeping up
[24851] Postponing speeding up marking until marking starts
[24851] Speed up marking because marker was not keeping up
[24851] Postponing speeding up marking until marking starts
[24851] Speed up marking because marker was not keeping up
[24851] Postponing speeding up marking until marking starts
[24851]     1359 ms: Mark-sweep 90.9 (115.1) -> 53.6 (113.7) MB, 9.0 ms (+ 19.3 ms in 105 steps since start of marking, biggest step 1.7 ms) [GC interrupt] [GC in old space requested].
[24851]     1578 ms: Scavenge 69.6 (113.7) -> 62.4 (115.7) MB, 6.0 ms [allocation failure].
[24851]     1676 ms: Scavenge 73.1 (117.7) -> 64.1 (121.7) MB, 5.9 ms [allocation failure].

有人可以解释上面输出中每一项的含义吗?

最佳答案

我也没有看到任何关于此的文档,但查看了 process.memoryusage() 的结果连同使用 --trace_gc 选项建议:

Scavenge <heapUsed before> (<heapTotal before>) -> <heapUsed after> (<heapTotal after>) MB, <how long the GC pause was>

heapUsedheapTotalprocess.memoryusage() 记录, 但更好地解释了 by this answer .

关于node.js - node.js --trace-gc 输出的含义是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33746184/

相关文章:

java - GCViewer模式分析

java - 在 Java 中对变量使用 final 会改善垃圾收集吗?

node.js - Mongoose promise 和 sonarqube

javascript - javascript 中的词频统计?

java - 在不增加堆大小的情况下修复超出 GC 开销限制的问题

java - 成员变量可以从外部访问,但它的声明类在Java中被垃圾收集?

java - 分析工具如何在某些按钮单击或拍摄堆快照时执行垃圾收集?

html - 如何触发jade/pug中的新行?

node.js - 在 Node.js 中使用 Crypto 时的错误处理

javascript - 在 Node.js 重新启动期间保留 setTimeout 和 setInterval