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
ます。
このオプションをいつ設定しますか?
- ホットスポットコンパイラに障害が発生した場合
- JVMに必要なメモリを削減するため(したがって、JITコンパイラの障害のリスクがあります)
通常、この値は変更しません。この問題は非常にまれな場合にのみ発生するため(私の経験では)、デフォルト値は非常にバランスが取れていると思います。