Nos*_*mus 8 garbage-collection v8 node.js
根据谷歌的说法,V8采用了"停止世界,世代,精确,垃圾收集器"的高效垃圾收集.声明的一部分是V8在执行垃圾收集循环时停止程序执行.
一个显而易见的问题是,当您暂停程序执行时,如何才能拥有高效的GC?
我试图找到更多关于这个主题的内容,因为我有兴趣知道当你每秒有数十个thounsands请求触发node.js服务器时,GC如何影响响应时间.
任何专家帮助,个人经验或链接将不胜感激
谢谢
小智 13
"高效"可能意味着几件事.这可能是指高吞吐量.在查看响应时间时,您对延迟更感兴趣,这可能比使用其他GC策略更糟糕.
停止世界的地方选区的主要替代方案是
在面对并发修改堆时,两者都需要执行额外的工作才能正确(例如,如果创建新对象并将其附加到已扫描的对象,则必须注意此新引用).这会影响总吞吐量,即实际清理整个堆需要更长的时间.好处是它们(通常)不会中断程序很长时间(如果有的话),因此延迟很低(呃).
虽然V8文档仍然提到了停止的世界收藏家,似乎一个的V8 GC 是增量从2011年因此,尽管它在一段时间后停止执行程序,但它不是 2停止程序但需要多长时间扫描整个堆.相反,它可以扫描几毫秒,然后让程序恢复.
1 "Mutator"是用于垃圾收集堆的程序的GC术语.
2至少在原则上,这可能是可配置的.
| 归档时间: |
|
| 查看次数: |
3005 次 |
| 最近记录: |