ReservedCodeCacheSize
(и InitialCodeCacheSize
) - это опция для (своевременного) компилятора виртуальной машины Java Hotspot. По сути, он устанавливает максимальный размер кеша кода компилятора.
Кеш может переполниться, что приводит к следующим предупреждениям:
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)
Обычно вы не меняете это значение. Я думаю, что значения по умолчанию довольно хорошо сбалансированы, потому что эти проблемы возникают только в очень редких случаях (по моему опыту).