【发布时间】:2016-01-29 05:26:38
【问题描述】:
有没有办法在指定的时间段内显式禁用 GC 运行(至少是最耗时的,比如旧空间中的 GC 中断),同时执行一些对延迟敏感的代码?像这样的:
disableGc();
runCodeWithoutDelays();
enableGc();
可能使用一些节点选项或本机模块?或者我可以编写自己的模块吗?V8 中有 API 吗?
【问题讨论】:
-
嗯,this 会为你工作吗?
-
并非如此。这将触发非增量主要 GC 运行 (mark-sweep-compact),与快速增量运行相比,这些运行非常繁重并引入了较长的延迟。与其自己运行 GC,我想阻止 GC 一段时间,然后再次释放它以正常运行。
-
我建议将此问题作为 Node.js 存储库和 v8 邮件列表中的错误提出。
-
我也有同样的问题。你找到解决办法了吗?
-
问题,这段时间需要分配内存吗?
标签: javascript node.js garbage-collection v8