请告诉我这些选项的目的。谷歌搜索后我认为: MinHeapFreeRatio 告诉“指定的最小百分比的空间将确保在 GC 后在堆内存中空闲”,而 MaxHeapFreeRatio 告诉“在 GC 后不超过指定百分比的空间将在堆内存中空闲”[如果有超出指定百分比的可用内存,这些内存将返回给操作系统]
当我尝试将这些选项都设置为 10 时,即使有超过 80% 的可用堆内存,它也没有释放回操作系统。
细节:
Java HotSpot(TM) 64 位服务器 VM(1.5.0_15-b04,混合模式)ParallelGC(也称为吞吐量收集器,它是服务器类 VM 中的默认收集器)我指定 -Xms50M 和 -Xmx1000M 作为 jvm 参数操作系统:windows 7 专业版(8 GB 内存 64 位操作系统)
注意:我也尝试过使用 SerialGC,那些最小和最大无堆比率选项被忽略了。