(请注意,当我说“JVM”时,我的意思是“热点”,我正在运行最新的 Java 1.6 更新。)
示例情况:
我的 JVM 运行时 -Xmx 设置为 1gb。目前,堆分配了 500mb,其中 450mb 被使用。该程序需要在堆上再加载 200 mb。目前,堆中有 300mb 的“可收集”垃圾(我们假设它们都在最老的一代中。)
在正常操作下,JVM 会将堆增加到 700 mb 左右,并在到达时进行垃圾收集。
在这种情况下,我希望 JVM 先 gc,然后分配新的东西,这样我们最终的堆大小保持在 500mb,使用的堆大小保持在 350mb。
是否有一个 JVM 参数组合可以做到这一点?