← 질문 목록
#172깊이 0

JVM GC의 효율을 높이는 튜닝 포인트는 무엇인가?

프레임워크깊이메모리

크기와 GC 알고리즘이 Stop-the-world 시간을 좌우한다. 서비스가 허용할 수 있는 지연 시간처리량을 먼저 정하고 두 값을 조정한다.

  • Young GenerationEden, Survivor. 짧은 생존 객체 관리
  • Old Generation장기 생존 객체 관리. Major GC 발생

객체 생존 기간에 따라 영역을 나누어 관리한다. Young에서 살아남은 객체는 Old로 옮겨 간다.

Young과 Old가 한 덩어리로 붙은 배치는 옛 수집기 쪽이다. G1은 힙을 작은 조각으로 쪼개 놓고 조각마다 Young인지 Old인지를 붙인다. Old가 차면 무엇을 어떻게 걷을지도 쓰는 GC마다 다르다.

Stop-the-world는 모든 애플리케이션 스레드가 멈추는 현상이다. GC 알고리즘에 따라 멈춤 시간이 달라지므로, 서비스 특성에 맞춰 G1 GC나 ZGC를 선택한다.

힙 크기를 너무 크게 잡으면 Full GC의 처리 시간이 길어진다. 반대로 너무 작으면 GC가 빈번하게 발생하여 CPU 사용률이 올라간다.

추천 꼬리질문

0/300

적은 내용은 AI 학습에 쓰일 수 있습니다. 이름이나 연락처는 넣지 말아 주세요.

관련 질문

JVM GC의 효율을 높이는 튜닝 포인트는 무엇인가?