ReservedCodeCacheSize
(і InitialCodeCacheSize
) - це опція для (точно вчасно) компілятора Java Hotspot VM. В основному він встановлює максимальний розмір кешу коду компілятора.
Кеш може заповнитись, що призводить до таких попереджень:
Java HotSpot(TM) 64-Bit Server VM warning: CodeCache is full. Compiler has been disabled.
Java HotSpot(TM) 64-Bit Server VM warning: Try increasing the code cache size using -XX:ReservedCodeCacheSize=
Code Cache [0x000000010958f000, 0x000000010c52f000, 0x000000010c58f000)
total_blobs=15406 nmethods=14989 adapters=362 free_code_cache=835Kb largest_free_block=449792
Це набагато гірше, якщо слідує Java HotSpot(TM) Client VM warning: Exception java.lang.OutOfMemoryError occurred dispatching signal SIGINT to handler- the VM may need to be forcibly terminated
.
Коли встановлювати цю опцію?
- при помилках компілятора Hotspot
- зменшити пам’ять, необхідну JVM (і, отже, ризикувати збоями компілятора JIT)
Зазвичай ви не змінювали це значення. Я думаю, що значення за замовчуванням досить добре збалансовані, оскільки ці проблеми трапляються лише в дуже рідкісних випадках (на мій досвід).