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

UseAdaptiveSizePolicy и другие jvm opts

Опция JVM -XX: + UseAdaptiveSizePolicy определяется как часть эргономики hotspot и может быть указана с пропускной способностью или приоритетом времени паузы.

Однако, мой вопрос: правильно ли использовать вместе с ним другие параметры jvm, такие как NewSize и SurvivorRatio?. Каково именно это влияние?

4b9b3361

Ответ 1

Просто FYI, -XX:+UseAdaptiveSizePolicy включен по умолчанию в любой новой версии Sun JVM.

Кроме того, я нашел статью:

Избегайте проблем: -XX:SurvivorRatio=вариант несовместим с JVM параметр -XX:+UseAdaptiveSizePolicy. Пожалуйста, используйте один из них согласно ваша ситуация.

Я не смог найти окончательный ответ для NewSize, но, похоже, он устанавливает начальный размер молодого поколения, а не постоянный, поэтому он не является взаимоисключающим с UseAdaptiveSizePolicy.

Однако здесь есть куча статей:

В большинстве случаев, если вы настроите SurvivorRatio, захотите настроить NewSize и MaxNewSize.

Ответ 2

Мой опыт с комбинациями нестандартных опций (-X) заключается в том, что они немного отличаются от версий и платформ JVM.

Если вы хотите быть уверенным в том, что является результатом набора параметров, проверьте реальные значения JVM с помощью jmap -heap, если это возможно, например

Client compiler detected.
JVM version is 1.5.0_14-b03

using thread-local object allocation.
Mark Sweep Compact GC

Heap Configuration:
    MinHeapFreeRatio = 40
    MaxHeapFreeRatio = 70
    MaxHeapSize = 209715200 (200.0MB)
    NewSize = 2228224 (2.125MB)
    MaxNewSize = 4294901760 (4095.9375MB)
    OldSize = 1441792 (1.375MB)
    NewRatio = 8
    SurvivorRatio = 32
    PermSize = 8388608 (8.0MB)
    MaxPermSize = 134217728 (128.0MB)
[...]