본문으로 건너뛰기

Agent별 리소스 대시보드

홈 화면 > 대시보드 > Agent별 리소스 대시보드

노트

요구 사항

와탭 자바 에이전트 2.2.39 버전 이상이 필요합니다.

Agent별 리소스 대시보드 메뉴에서 개별 자바 에이전트의 메모리, 트랜잭션, 스레드 등 주요 지표를 실시간으로 모니터링하고, 최대 3시간 전 과거 시점까지 조회할 수 있습니다. 이를 통해 메모리 사용량 변화, 활성화된 트랜잭션, 실행 중인 스레드 정보를 파악하고, 리소스 문제를 유발하는 원인을 분석할 수 있습니다.

Agent Resource Dashboard

기본 화면

Agent별 리소스 대시보드를 통해 현재 실행 중인 에이전트의 메모리 풀 상태 및 관련 지표 변화 추이를 한눈에 확인할 수 있습니다. 대시보드에서 확인할 수 있는 실시간 자바 메모리 영역 및 주요 지표는 다음과 같습니다.

위젯 안내

실시간 자바 메모리 영역 위젯

자바 영역별 실시간 위젯을 통해 JVM 주요 메모리 풀 상태를 실시간으로 확인할 수 있습니다. 각 자바 메모리 영역 차트는 사용 중인 용량(MB)과 비율(%)을 표시합니다.

  • Metaspace

    클래스 메타데이터를 저장하는 영역입니다.

  • CodeHeap non-profiled nmethod, CodeHeap profiled nmethod, CodeHeap non-nmethods

    JIT(Just-In-Time) 컴파일러가 생성한 머신 코드를 저장하는 영역으로 CodeHeap non-profiled nmethod, CodeHeap profiled nmethod, CodeHeap non-nmethods는 각각 컴파일된 코드를 용도에 따라 구분해 보관합니다.

  • G1 Survivor Space

    G1 GC에서 살아남은 객체가 일시적으로 저장되는 영역입니다.

  • G1 Eden Space

    새로 생성된 객체가 먼저 할당되는 영역입니다.

  • G1 Old Gen

    Young GC를 거쳐 살아남은 객체가 이동되는 영역입니다. 메모리가 증가할 경우 Old Gen을 중심으로 누수가 발생하는지 확인할 수 있습니다.

  • Compressed Class Space

    클래스 관련 포인터를 압축하여 저장하는 영역으로 Metaspace와 별도로 관리됩니다.

노트
  • 개별 이퀄라이저 아이콘 개별 차트: 각 지표를 별도의 막대 형식으로 표시하여 지표마다 최댓값을 명확히 비교할 수 있습니다.

  • 통합 이퀄라이저 아이콘 통합 차트: 전체 대비 각 지표의 상대적 크기를 한 눈에 파악할 수 있습니다.

  • 도넛 차트 아이콘 도넛 차트: 전체를 원형 비율로 표현하여 각 지표가 차지하는 비중을 확인할 수 있습니다.

  • 멀티 라인 차트 아이콘 멀티 라인 차트: 전체 지표에 대한 추이를 확인할 수 있습니다.

주요 지표 위젯

  • Memory

    전체 메모리 사용률(%)을 표시합니다. Eden, Old Gen, Metaspace 등 내부 구성을 종합한 총 사용량입니다.

  • CpuTime

    JVM이 애플리케이션 코드를 실행하는 데 소요된 CPU 시간을 밀리초(ms) 단위로 나타냅니다.

  • GCCount, GCOldgenCount

    GCCount는 일정 주기 내 발생한 GC 횟수, GCOldgenCount는 Old 영역을 대상으로 한 GC 횟수만 별도로 집계합니다.

  • GCTime

    Garbage Collection에 소요된 시간을 ms 단위로 표시합니다.

  • Cpu

    JVM 프로세스의 CPU 사용률(%)을 나타냅니다.

  • TPS

    초당 트랜잭션 처리 횟수를 표시합니다.

  • FileDescriptor

    열려 있는 파일이나 소켓 등 현재 사용 중인 파일 디스크립터 수를 나타냅니다.

  • ObjectPendingFinalizationCount

    GC가 처리해야 할 객체가 finalize() 대기 상태로 남아 있는 개수를 표시합니다.

실시간 조회

실시간 조회 시 상단 오른쪽 힙 히스토그램, 액티브 트랜잭션, Runnable 스레드 버튼을 통해 리소스 상세 패널을 확인할 수 있습니다.

Agent Resource Dashboard Realtime

힙 히스토그램

힙 히스토그램 탭에서 현재 힙 메모리에 상주하는 Java 클래스 정보를 분석하고, 메모리를 가장 많이 차지하는 클래스 TOP 100을 조회할 수 있습니다. 과도하게 메모리를 점유하는 클래스가 있는 경우 메모리 누수 가능성을 의심할 수 있습니다.

액티브 트랜잭션

액티브 트랜잭션 탭에서 실행 중인 트랜잭션 목록을 조회할 수 있습니다. 시작 시각, 트랜잭션 경과 시간, SQL/HTTP 호출 등의 세부 정보를 확인할 수 있습니다. 특정 트랜잭션이 오래 걸리거나 리소스를 많이 사용하는지 확인하여 병목 구간을 파악할 수 있습니다.

Runnable 스레드

Runnable 스레드 탭에서 현재 JVM에서 Runnable 상태인 스레드 목록을 실시간으로 확인할 수 있습니다. CPU 사용량이 높아지거나 응답이 지연되는 경우 어떤 스레드가 문제를 일으키는지 파악하는 데 유용합니다.

과거 시점 조회

시간 선택자를 통해 과거 특정 시점을 선택 후 해당 시점의 리소스 상태를 확인할 수 있습니다. 최대 3시간 전의 리소스 상태를 조회하고, 해당 시점에 발생한 트랜잭션, SQL, HTTP 호출 정보를 분석할 수 있습니다. 이를 통해 CPU나 메모리 사용량이 급등하거나 TPS가 급감했던 시점의 원인을 효과적으로 추적할 수 있습니다.

History Data sc

과거 시점 조회 시 상단 오른쪽 트랜잭션, SQL 통계, HTTPC 통계 버튼 클릭 시 각 상위 30개 통계 정보를 확인할 수 있는 통계 Top 30 패널을 조회할 수 있습니다.

Agent Resource Dashboard History

트랜잭션 통계

트랜잭션 탭에서 특정 시점에 수행된 트랜잭션들을 응답 시간, 실행 횟수 등의 조건으로 정렬해 상위 30개 목록을 조회할 수 있습니다. 응답 시간이 길거나 실행 횟수가 많은 항목을 우선 확인할 수 있습니다.

노트

평균 메모리 할당량 조회 설정

과거 시점의 트랜잭션 통계에서 평균 메모리 할당량 항목이 표시되지 않는 경우, 다음 옵션의 활성화 여부를 확인해 주세요. 단 이 옵션은 평균 TPS가 높은 애플리케이션에서는 성능 영향이 발생할 수 있으므로 평균 TPS 300 이하의 환경에서만 적용을 권장합니다.

  • trace_malloc_enabled Boolean

    기본값 false

    트랜잭션별 평균 메모리 할당량을 수집합니다.

SQL 통계

SQL 탭에서 특정 시점에 수행된 SQL 쿼리를 실행 횟수, 전체 시간 등의 정렬 조건에 따라 상위 30개 목록을 조회할 수 있습니다. DB 부하가 증가 시 동일 시점에 실행된 SQL 쿼리 중 높은 비용을 차지하는 쿼리를 파악할 수 있습니다.

HTTPC 통계

HTTPC 탭에서 외부 HTTP 호출 정보를 정렬하여 상위 30개 목록을 조회할 수 있습니다. 외부 API나 내부 HTTP 요청이 많은 시점에 병목 발생 여부를 확인할 수 있습니다.