Почему -XX: ReservedCodeCacheSize не применяется? - PullRequest
0 голосов
/ 19 июня 2019

Я пытался понять, как работает -XX:ReservedCodeCacheSize=512m, но он не был применен при запуске Java следующим образом:

java --version -XX:ReservedCodeCacheSize=512m

Он просто устанавливается по умолчанию 48M на x86 в этой точке :

define_pd_global(uintx, ReservedCodeCacheSize,       48*M);

А затем увеличился в 5 раз точка :

// Increase the code cache size - tiered compiles a lot more.
if (FLAG_IS_DEFAULT(ReservedCodeCacheSize)) {
    FLAG_SET_ERGO(uintx, ReservedCodeCacheSize,
                  MIN2(CODE_CACHE_DEFAULT_LIMIT, (size_t)ReservedCodeCacheSize * 5));
  }

вызывает пробел с кодом резервирования до 48*5 M вместо значения, которое я настроил:

size_t cache_size         = ReservedCodeCacheSize;
//...
ReservedCodeSpace rs = reserve_heap_memory(cache_size);

Сначала я понял, что ReservedCodeCacheSize является вариантом разработки и поэтому не может быть переопределен, но он помечен как здесь , так что это не так.

Что не так и почему молча игнорируется этот параметр?

1 Ответ

2 голосов
/ 19 июня 2019

--version это опция терминала . Флаги JVM должны предшествовать опциям терминала.

Попробуйте java -XX:ReservedCodeCacheSize=512m --version

...