标签: node.js garbage-collection
我正在使用NodeJS 6.3.0编写Web服务器应用程序。 应用程序使用--expose-gc参数执行,因此我可以使用global.gc()函数。问题是如何知道垃圾收集器的手动执行何时完成。
--expose-gc
global.gc()
是global.gc()一个同步函数,这意味着当函数完成任务时会执行下一行代码吗?
我可以以某种方式监视垃圾收集器的具体执行何时完成?
谢谢!
答案 0 :(得分:10)
所以我找到this回答。
如果使用--expose-gc标志启动节点进程,则可以调用global.gc()强制节点运行垃圾回收。请注意,节点应用中的所有其他执行都会暂停,直到GC完成,因此不要经常使用它,否则会影响性能。
This也有一条评论。
手动运行global.gc()(使用节点--expose_gc启用)每次会减少50MB的内存使用量,并暂停应用程序约400ms。
所以看起来它是同步的并阻塞直到它完成。