为什么混合GC不能清除内存,而Full DC可以清除内存?

时间:2018-12-11 18:46:31

标签: java java-8 g1gc

使用以下版本运行G1GC(Java 8)

MaxGCPauseMillis=100
InitiatingHeapOccupancyPercent=30
G1MixedGCLiveThresholdPercent=85

,内存为115 GB。

我注意到有一个完整的GC,它将内存从111GB减少到65GB。在进行完全GC之前,很少有混合GC,但是无法清除内存。我应该设置其他参数吗?

1 个答案:

答案 0 :(得分:0)

立即将未使用的内存返回给操作系统是G1收集器的OpenJDK 12功能:

您正在观察提案中描述的限制:只有完整的GC才能将内存返回给操作系统,而混合/次要的GC则不能。另请参见this related question