nugawiki

./categories/back-end

Java GC 튜닝

업데이트 2026-07-21 조회수

Oracle HotSpot GC Tuning Guide 요약 (Java 8~17).

기본 수집기

Java기본 GC
8Parallel GC
9+G1 GC

수집기 선택

-XX:+UseSerialGC
-XX:+UseParallelGC
-XX:+UseConcMarkSweepGC   # Java 8 CMS (9+ deprecated)
-XX:+UseG1GC
-XX:+UseZGC               # 11+
-XX:+UseShenandoahGC

Heap

-Xms<size> -Xmx<size>
-XX:NewRatio=<n>
-XX:SurvivorRatio=<n>
-XX:MetaspaceSize=<size> -XX:MaxMetaspaceSize=<size>

G1

-XX:MaxGCPauseMillis=<ms>
-XX:G1HeapRegionSize=<size>
-XX:InitiatingHeapOccupancyPercent=<pct>

GC 로그

# Java 8
-XX:+PrintGCDetails -Xloggc:gc.log -XX:+UseGCLogFileRotation \
  -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=10M

# Java 9+
-Xlog:gc*:file=gc.log:time,uptime,level,tags:filecount=10,filesize=10M

OOM 덤프

-XX:+HeapDumpOnOutOfMemoryError
-XX:HeapDumpPath=/path/heap.hprof

./comments