상세 컨텐츠

본문 제목

명시적 GC 방지

언어/Java

by codeon 2025. 7. 7. 10:06

본문

반응형

명시적인 GC 호출은 JVM의 가비지 컬렉터가 최적의 시기가 아닐 때도 GC를 강제로 실행시켜 애플리케이션의 응답 시간(레이턴시)에 예측 불가능한 스파이크(Spike)를 유발할 수 있습니다. 특히 실시간 시스템이나 낮은 지연 시간(low-latency)이 중요한 시스템에서 스파이크와 같은 문제를 방지하기 위해 사용됩니다.

명시적 GC 방지 옵션

 

JVM의 최적화된 GC 알고리즘(G1, ParallelGC, CMS 등)은 자체적으로 최적의 GC 실행 시점을 판단합니다. 명시적인 호출은 이러한 내부 로직과 충돌하여 오히려 비효율적일 수 있습니다. DisableExplicitGC를 사용하면 JVM이 자체 판단에 따라 GC를 수행하게 하여 튜닝된 GC 설정을 최대한 활용할 수 있습니다.

 

JVM 시작 시 -XX:+DisableExplicitGC 옵션을 추가합니다.

java -XX:+DisableExplicitGC -jar YourApplication.jar
반응형

관련글 더보기