ReservedCodeCacheSize
(및 InitialCodeCacheSize
)은 Java Hotspot VM의 (just-in-time) 컴파일러에 대한 옵션입니다. 기본적으로 컴파일러의 코드 캐시에 대한 최대 크기를 설정합니다.
캐시가 가득 차서 다음과 같은 경고가 표시 될 수 있습니다.
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 컴파일러 실패 위험)
일반적으로이 값은 변경하지 않습니다. 이 문제는 매우 드문 경우에만 발생하기 때문에 기본값이 균형이 잘 잡혀 있다고 생각합니다 (제 경험상).