2011-04-09 67 views
11

这里是什么是到目前为止,我已经阅读并纠正我,如果我错了:的Node.js和V8垃圾收集

  1. 的Node.js是基于V8 JavaScript引擎。
  2. V8 JavaScript引擎实现停止这世界的垃圾收集

Which..causes的Node.js有时完全停止几秒钟到几分钟的时间来处理垃圾收集。

如果这是针对生产代码运行的,那么10,000个用户需要几秒钟。

这是真的可以接受的生产环境?

回答

12

是否可以接受取决于您的应用程序和堆大小。 Big Gc大约是1.3MB每兆字节。因人而异。约一半的压缩气相色谱。 10个左右的GC大。 3个左右的大型气相色谱仪正在紧缩。使用V8标志--trace-gc来记录GC。我们已经做了一些减少停顿的工作。没有承诺,没有时间表。请参阅V8回购中的branches/experimental/gc。

+13

这个答案没有多少过时。增量GC已经降落,长时间停顿应该成为过去。如果你仍然看到很大的GC暂停,那么请提交bug并附上--trace-gc的输出。当然,我们无法做出有关固定事物的承诺,但对于正常的工作负载,如果您使用--max-new-space-size = 1024,我们会预计暂停大约40-50ms的上限, -never-compact标志。 – 2012-07-01 20:33:09