ReservedCodeCacheSize
(und InitialCodeCacheSize
) ist eine Option für den (Just-in-Time-) Compiler der Java Hotspot-VM. Grundsätzlich wird die maximale Größe für den Code-Cache des Compilers festgelegt.
Der Cache kann voll werden, was zu Warnungen wie den folgenden führt:
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
Es ist viel schlimmer, wenn gefolgt von Java HotSpot(TM) Client VM warning: Exception java.lang.OutOfMemoryError occurred dispatching signal SIGINT to handler- the VM may need to be forcibly terminated
.
Wann muss diese Option eingestellt werden?
- bei Hotspot-Compilerfehlern
- um den von der JVM benötigten Speicher zu reduzieren (und damit JIT-Compiler-Fehler zu riskieren)
Normalerweise würden Sie diesen Wert nicht ändern. Ich denke, die Standardwerte sind ziemlich ausgewogen, da diese Probleme nur sehr selten auftreten (nach meiner Erfahrung).