Что означают флаги -XX: NewRatio и -XX: OldSize JVM? - PullRequest
17 голосов
/ 28 июля 2011

Я запускаю 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 - это начальный размер заемного поколения?

Ответы [ 2 ]

17 голосов
/ 28 июля 2011

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

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

1 голос
/ 09 апреля 2014

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...