混合收集器实战中,G1如何根据不同负载动态调整回收Region数量?
- 内容介绍
- 相关推荐
本文共计1030个文字,预计阅读时间需要5分钟。
G1垃圾回收器不是每次回收固定数量的老年代Region,而是基于当前GC目标暂停时间(-XX:MaxGCPauseMillis)、已知的Region回收成本模型以及待回收Region的价值排序,动态决定本轮Mixed GC中老年代Region的回收数量。
关键逻辑在于:G1 先对所有可回收的老年代 Region 按“单位时间回收收益”从高到低排序,再按顺序累加,直到预估总停顿时间逼近目标值。这个过程发生在并发标记完成后的 Evacuation Pause 准备阶段,不占用 STW 时间。
本文共计1030个文字,预计阅读时间需要5分钟。
G1垃圾回收器不是每次回收固定数量的老年代Region,而是基于当前GC目标暂停时间(-XX:MaxGCPauseMillis)、已知的Region回收成本模型以及待回收Region的价值排序,动态决定本轮Mixed GC中老年代Region的回收数量。
关键逻辑在于:G1 先对所有可回收的老年代 Region 按“单位时间回收收益”从高到低排序,再按顺序累加,直到预估总停顿时间逼近目标值。这个过程发生在并发标记完成后的 Evacuation Pause 准备阶段,不占用 STW 时间。

