ReservedCodeCacheSize
(e InitialCodeCacheSize
) é uma opção para o compilador (just-in-time) do Java Hotspot VM. Basicamente, ele define o tamanho máximo do cache de código do compilador.
O cache pode ficar cheio, o que resulta em avisos como os seguintes:
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
É muito pior quando seguido por Java HotSpot(TM) Client VM warning: Exception java.lang.OutOfMemoryError occurred dispatching signal SIGINT to handler- the VM may need to be forcibly terminated
.
Quando definir esta opção?
- ao ter falhas do compilador de Hotspot
- para reduzir a memória necessária para a JVM (e, portanto, arriscando falhas do compilador JIT)
Normalmente você não mudaria este valor. Eu acho que os valores padrão são bem balanceados porque esses problemas ocorrem apenas em ocasiões muito raras (na minha experiência).