Я не могу найти никаких вариантов, касающихся того, как работает G1. Следующие две команды больше не работают с java7.
-XX:+G1ParallelRSetUpdatingEnabled
-XX:+G1ParallelRSetScanningEnabled
Я не могу найти никаких вариантов, касающихся того, как работает G1. Следующие две команды больше не работают с java7.
-XX:+G1ParallelRSetUpdatingEnabled
-XX:+G1ParallelRSetScanningEnabled
Единственные варианты, о которых я знаю, которые влияют на G1, это:
активировать:
-XX:+UnlockExperimentalVMOptions -XX:+UseG1GC
чтобы установить максимальную цель времени паузы GC в миллисекундах, которую G1 попытается выполнить:
-XX:MaxGCPauseMillis=<X>
чтобы установить интервал времени, в течение которого могут иметь место паузы GC в сумме до MaxGCPauseMillis:
-XX:GCPauseIntervalMillis=<X>
чтобы установить размер молодого поколения, чтобы повлиять на время паузы эвакуации:
-XX:+G1YoungGenSize=512m
(также отключено в некоторых версиях)
установить (не только для G1) размер ячеек выживших
-XX:SurvivorRatio=6
(и другие параметры, связанные с выжившими)
Имейте в виду, что все типы опций -XX считаются экспериментальными и могут быть изменены в любое время (поэтому обычно это не то, что вы хотите вставить в сценарий .{bat,sh}
, wrapper.conf
или файл конфигурации, используемый для быстрого запуска вашего корпоративного приложения.
Они довольно полезны, но не стоит слишком на них полагаться, если вам нужен стабильный и надежный лаунчер.
Упомянутые вами два параметра, которые изначально были доступны во время первого общедоступного выпуска G1 в ходе обновлений Java SE 6, теперь устарели. То же самое имеет G1YoungGenSize
в некоторых версиях.
Источники:
Java 7 update 4 теперь "полностью поддерживает" сборщик мусора G1, но кажется, что эти параметры больше не доступны. :(
Эти ссылки проливают свет на разрешенные флаги JVM: