-XX:+UseG1GC -XX:+DisableExplicitGC -XX:+UseStringDeduplication
-XX:MaxGCPauseMillis=밀리세컨드
default=200ms-XX:G1HeapRegionSize=숫자m
보통은 Heap size 기준으로 2018개로 리젼을 나누면서 사이즈가 1mb~32mb 되도록 최선으로 결정되지만 사용하는 데이터 종류에 따라 직접 지정가능. 2의 제곱으로 지정할 것.-XX:ParallelGCThreads=숫자
-XX:ConcGCThreads=숫자
-XX:+UseStringDeduplication
: 불필요한 문자열 중복 생성 방지 G1 에서만 기능함 G1 GC: Reducing Memory Consumption by 20%JDK 8 G1 GC에서는 class 영역이 클 경우 class unloading을 하는 gc 시간이 매우 길어질 수 있다. 다음 옵션으로 대부분 문제가 없어진다. 매우 오래전 기록이므로 최신 JVM에서 불필요하게 미리 설정하지 말 것.
-XX:+UseLargePagesInMetaspace
-Xmn
과 -XX:NewRation
는 사용하지 말 것.Young Generation Size: Avoid explicitly setting young generation size with the -Xmn option or any or other related option such as -XX:NewRatio. Fixing the size of the young generation overrides the target pause-time goal.
-XX:+TraceClassUnloading
로 확인 가능.