Адаптивный размер в сборщиках мусора JVM

Могут ли сборщики Parallel, CMS и G1 для режима сервера Oracle JVM 1.8 динамически изменять соотношение молодого поколения к старому? Каково по умолчанию соотношение молодого поколения к старому в этих трех коллекторах?

Parallel = -XX:+UseParallelGC -XX:+UseParallelOldGC

CMS = -XX:+UseConcMarkSweepGC

G1 = -XX:+UseG1GC

person Lijie Xu    schedule 03.10.2017    source источник


Ответы (2)


Значения по умолчанию часто зависят от версии и машины или могут изменяться в ответ на другие устанавливаемые параметры. Поэтому лучше просто запросить JVM.

например используйте java -XX:+UseG1GC -XX:+PrintFlagsFinal, чтобы увидеть значения по умолчанию, включая те, которые получены на основе выбранного G1.

G1 и параллельный сборщик поддерживают адаптивное изменение размера, а CMS — нет, вместо этого он регулирует пороговые значения владения во время выполнения.

person the8472    schedule 03.10.2017

Что ж, возможно, это не сможет ответить на точные детали с точки зрения соотношения GC как такового, но эта статья под названием oraclecollectors говорит о многом, и его следует подробно описать здесь: -

Что касается комбинаций сборщиков мусора, то их не разбивается на дюжину комбинаций, потому что не все эти сборщики работают друг с другом.

  • G1 фактически является антисоциальным коллекционером, который не любит работать ни с кем другим.

  • Серийные коллекционеры - это коллекционеры, которых «выбрали последним».

  • Коллекционеры PS любят работать друг с другом;

  • Коллекторы ParNew и Concurrent хорошо работают вместе.

Начиная с Java9 и далее (с добавлением возможности отключения политики адаптивного размера) и JEP 248: Сделав G1 сборщиком мусора по умолчанию, это практически означает, что будет только один сборщик мусора. До сих пор, хотя все еще существует возможный список, который автор придумал с точки зрения параметров алгоритма сборки мусора. Совместное использование экрана из самой связанной статьи:

введите здесь описание изображения

Надеюсь, это поможет.

person Naman    schedule 03.10.2017