为什么老年代对象会被 minor GC 清理
Why Old generation objects clearing up by minor GC
我正在使用 Java 11 并使用 G1GC。我正在处理的应用程序是一个大数据应用程序,我注意到的奇怪的事情是我 24 小时监视该应用程序,并且没有主要的 GC。但是 Old gen 的大小会周期性地一次又一次地下降,巧合的是,当 minor GC 在同一分钟花费大量时间时,就会发生这种情况。
我无法理解为什么次要 GC 的峰值会清除老一代的数据。
G1 GC 也有混合 GC 的概念,这给 G1 GC 起了个名字——垃圾优先。在这个 GC 中,新生代和 Old space 中包含最多垃圾的一些区域被清理,即 Garbage First。这种机制允许 G1 GC 尝试尽可能长时间地避免 Full GC。由于完整 GC 主要负责与垃圾收集相关的长时间暂停,因此 G1 GC 能够最大限度地减少对这些昂贵操作的需求。
我正在使用 Java 11 并使用 G1GC。我正在处理的应用程序是一个大数据应用程序,我注意到的奇怪的事情是我 24 小时监视该应用程序,并且没有主要的 GC。但是 Old gen 的大小会周期性地一次又一次地下降,巧合的是,当 minor GC 在同一分钟花费大量时间时,就会发生这种情况。
我无法理解为什么次要 GC 的峰值会清除老一代的数据。
G1 GC 也有混合 GC 的概念,这给 G1 GC 起了个名字——垃圾优先。在这个 GC 中,新生代和 Old space 中包含最多垃圾的一些区域被清理,即 Garbage First。这种机制允许 G1 GC 尝试尽可能长时间地避免 Full GC。由于完整 GC 主要负责与垃圾收集相关的长时间暂停,因此 G1 GC 能够最大限度地减少对这些昂贵操作的需求。