3

我找不到与 G1 的运作方式有关的任何选项。以下两个命令不再适用于 java7。

-XX:+G1ParallelRSetUpdatingEnabled 
-XX:+G1ParallelRSetScanningEnabled 
4

2 回答 2

3

我知道的唯一对 G1 有影响的选项是:

  • 激活:

    -XX:+UnlockExperimentalVMOptions -XX:+UseG1GC

  • 设置 G1 将尝试达到的最大 GC 暂停时间目标(以毫秒为单位):

    -XX:MaxGCPauseMillis=<X>

  • 设置可能发生的 GC 暂停总计达到 MaxGCPauseMillis 的时间间隔:

    -XX:GCPauseIntervalMillis=<X>

  • 设置年轻代的大小以影响疏散暂停时间:

    -XX:+G1YoungGenSize=512m (在某些版本中也禁用)

  • 设置(不特定于 G1)幸存者空间的大小

    -XX:SurvivorRatio=6 (以及其他与幸存者相关的选项)

快速警告

请注意,所有 -XX 选项类型都被认为是实验性的,并且随时可能更改(因此,通常不是您想要粘贴在用于启动企业应用程序的脚本或配置文件.{bat,sh}中的东西。wrapper.conf

它们非常有用,但如果你想要一个稳定耐用的发射器,就不要过分依赖。


您提到的 2 个选项虽然最初在 G1 在 Java SE 6 更新过程中首次公开发布时可用,但现在已被弃用。G1YoungGenSize在某些版本中也是如此。


资料来源:

于 2012-02-29T00:29:24.387 回答
1

Java 7 update 4 现在“完全支持” G1 垃圾收集器,但这些参数似乎不再可用。:(

这些链接更清楚地说明了允许的 JVM 标志:

G1 GC 说明

JVM 选项

于 2012-06-03T07:44:26.430 回答