← 질문 목록
#268깊이 0
GC 알고리즘 선택 기준은 무엇인가?
애플리케이션의 서비스 특성과 지연 시간 허용 범위에 따라 결정한다. 처리량 중심인지, 응답 속도 중심인지가 핵심이다.
| 기준 | Parallel GC | G1 GC | ZGC |
|---|---|---|---|
| 목표 | 처리량 최대화 | 균형 잡힌 지연 | 초저지연 |
| 특징 | STW 길다 | 리전 분할 관리 | 색상 포인터 사용 |
Parallel GC는 전체 처리량을 높이는 데 유리하다. 다만 GC가 돌면 그 JVM의 애플리케이션 스레드가 멈춘다. 그 시간이 길면 응답이 끊긴 것처럼 보인다.
G1 GC는 힙을 리전으로 나누고 회수 가치가 큰 곳부터 수집한다. 설정한 목표 지연 시간을 맞추기 위해 수집 효율이 높은 영역부터 먼저 처리한다.
ZGC는 힙이 커져도 멈추는 시간이 잘 늘지 않도록 만들어졌다. 다만 몇 밀리초 아래라는 것은 목표이지 어떤 환경에서든 지켜지는 약속은 아니다. 컬러 포인터와 로드 배리어로 애플리케이션과 동시에 GC를 수행한다.
추천 꼬리질문
관련 질문
- 가비지 컬렉션이 멈춤을 만드는 이유는?언어 · 런타임가비지 컬렉션의 멈춤 현상(STW)은 GC 알고리즘의 성능 지표와 선택 기준에 직접적인 영향을 미치는 핵심 요소이다.
- 수집기는 처리량과 지연 중 무엇으로 고르는가?언어 · 런타임가비지 컬렉션 수집기의 선택 기준이라는 동일한 핵심 개념을 다룹니다.
- 참조 횟수가 0이 아닌 객체도 왜 수거되는가?언어 · 런타임참조 횟수 방식과 세대별 수거 방식 등 어떤 GC 알고리즘을 선택하느냐에 따라 객체 수거 조건과 성능이 달라집니다.
- JVM GC의 효율을 높이는 튜닝 포인트는 무엇인가?프레임워크GC 튜닝 효율은 사용하는 GC 알고리즘의 특성과 선택 기준에 직접적으로 영향을 받는다.
- 파이썬의 가비지 컬렉션은 무엇으로 동작하는가?언어 · 런타임둘 다 가비지 컬렉션의 기본 동작 원리와 알고리즘 선택 기준을 다룬다.