목록 보기
Micrometer 객체 증가로 인한 메모리 이슈 회고
데브옵스

Micrometer 객체 증가로 인한 메모리 이슈 회고

11번가
11번가
2025년 5월 28일

두줄요약

Spring Boot 3.x와 PathVariable 증가로 Micrometer 객체가 누적되며 메모리 이슈가 발생했습니다. 메트릭 수집을 조정하고 ZGC로 전환해 Heap 사용률을 안정화했습니다.

문제 상황

  • Spring Boot 3.x로 내부 이관한 뒤 PathVariable 기반 API 호출이 늘며 메모리 사용률이 점진적으로 상승
  • GC가 정상 동작해도 Micrometer 관련 Meter$Id, Tag, ImmutableTag 객체가 Old 영역에 누적

원인 분석

  • Spring Cloud LoadBalancer의 Micrometer 메트릭 수집이 활성화된 상태에서 URI 정규화가 적용되지 않은 태그 수집
  • PathVariable 값이 달라질 때마다 새로운 Meter 객체가 생성되는 구조
  • G1GC 전환 후에도 Mixed GC가 Old 영역을 충분히 수거하지 못해 메모리 증가가 지속

해결 방법

  • spring.cloud.loadbalancer.stats.micrometer.enabled, openfeign, resilience4j 관련 메트릭 수집 비활성화
  • ZGC로 재전환해 백그라운드 수거와 낮은 pause 특성 활용
  • 메트릭 설정과 GC 전략을 서비스 특성에 맞게 조정

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...