ReservedCodeCacheSize
(i InitialCodeCacheSize
) jest opcją dla kompilatora (just-in-time) maszyny wirtualnej Java Hotspot. Zasadniczo ustawia maksymalny rozmiar pamięci podręcznej kodu kompilatora.
Pamięć podręczna może się zapełnić, co powoduje ostrzeżenia, takie jak następujące:
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
Jest znacznie gorzej, gdy następuje Java HotSpot(TM) Client VM warning: Exception java.lang.OutOfMemoryError occurred dispatching signal SIGINT to handler- the VM may need to be forcibly terminated
.
Kiedy ustawić tę opcję?
- w przypadku awarii kompilatora Hotspot
- aby zmniejszyć ilość pamięci wymaganej przez JVM (a tym samym ryzyko awarii kompilatora JIT)
Zwykle nie zmieniałbyś tej wartości. Myślę, że wartości domyślne są dość dobrze wyważone, ponieważ te problemy występują tylko w bardzo rzadkich przypadkach (w moim doświadczeniu).