Подтвердить что ты не робот

В чем смысл -XX: NewRatio и -XX: флаги OldSize JVM?

Я запускаю свое приложение java со следующей командной строкой:

java -XX:+PrintCommandLineFlags -verbose:gc -XX:+PrintGCDetails \
     -XX:+UseConcMarkSweepGC -jar start.jar

JVM включает следующие опции:

-XX:MaxNewSize=87244800 -XX:MaxTenuringThreshold=4 -XX:NewRatio=7
-XX:NewSize=21811200 -XX:OldPLABSize=16 -XX:OldSize=65433600
-XX:+PrintCommandLineFlags -XX:+PrintGC -XX:+PrintGCDetails
-XX:+UseCompressedOops -XX:+UseConcMarkSweepGC -XX:+UseParNewGC

Может ли кто-нибудь объяснить мне значение NewRatio и OldSize? В частности, OldSize - это начальный размер поколенного поколения?

4b9b3361

Ответ 1

NewRatio - это отношение старого поколения к молодому поколению (например, значение 2 означает, что максимальный размер старого будет в два раза максимальным размером юнита, то есть молодой может подняться до 1/3 кучи).

OldSize не является одним из документированных опций, но я предполагаю, что это размер пространства с сохранением http://www.oracle.com/technetwork/java/javase/tech/vmoptions-jsp-140102.html

Ответ 2

Поскольку NewRatio уже хорошо объяснен, следующее должно помочь с OldSize.

Здесь OldSize = > размер по умолчанию для поколенного поколения. Это размер, используемый по умолчанию, до тех пор, пока эргономика не начнет играть.