연속 JFR

연속 JFR (Continuous JFR)

Pinot 서버에서 연속 JFR(Java Flight Recorder)을 설정해 JVM 성능을 지속적으로 기록·분석하는 방법을 안내해요.

출처: 문서

본문

개요 (Overview)

Java Flight Recorder(JFR)는 JVM의 프로파일링 데이터(힙 할당, GC, CPU, 스레드, 잠금 등)를 낮은 오버헤드로 수집하는 Java에 내장된 도구예요. Pinot은 지속적인(continuous) JFR 기록을 지원해서 실시간 서버와 오프라인 서버의 성능 특성을 시간 경과에 따라 분석할 수 있어요. 분산 환경에서 GC 일시정지, 힙 압박, CPU 사용률 등의 문제를 사후(post-hoc) 분석하는 데 유용해요.

설정 (Setup)

연속 JFR을 활성화하려면 JVM 시작 시 JFR 관련 플래그를 지정하거나 Pinot의 구성으로 기록 기간과 빈도를 설정할 수 있어요. 기록 파일은 지정된 디렉토리에 저장돼요.

분석 (Analysis)

기록된 JFR 파일은 JDK의 jfr 도구나 JMC(Java Mission Control)로 분석할 수 있어요. 연속 기록은 메모리·CPU 프로파일링, GC 문제 진단, 스레드 경합(contention) 분석에 특히 유용해요.

더 알아보기 (Learn more)