Thread Dump
Thread Dump 화면에서는 WAS의 스레드 덤프를 수집하고, 수집된 덤프를 선택해 스레드별 상태와 스택 트레이스를 확인할 수 있습니다. Thread dump Analyzer 탭에서는 스레드 상태 분포, CPU Hotspot 분석, 진단 리포트를 통해 응답 지연·락 경합·스레드 풀 문제를 빠르게 파악할 수 있습니다.
좌측 메뉴에서 애플리케이션 > 성능 분석 > Thread Dump를 선택하세요.

화면은 상단 조회 조건 영역과, 그 아래 세 개의 패널(WAS List, Thread dump List, Selected Thread dump List)로 구성됩니다. 패널 하단에는 Thread dump Detail과 Thread dump Analyzer 탭이 있습니다.
조회 조건 설정하기
화면 상단의 조건 영역에서 조회 범위를 설정합니다.

- Period: 스레드 덤프를 조회할 기간을 설정합니다. 최소 1일에서 최대 30일까지 설정할 수 있으며, 날짜 단위로만 지정됩니다.
- Group: 조회할 WAS 그룹을 선택합니다.
- List: 그룹 내에서 조회할 WAS 인스턴스를 선택합니다. All을 선택하면 그룹 전체 인스턴스를 조회합니다.
설정을 완료하면 [Search] 버튼을 클릭해 조회합니다.
Thread dump List에서 덤프 선택하기
조회 결과는 화면 왼쪽의 WAS List와 가운데의 Thread dump List에 표시됩니다.

- WAS List: 조회 기간 내 스레드 덤프가 수집된 WAS 인스턴스 목록입니다. No, WAS 이름, Dump Count가 표시됩니다. WAS를 선택하면 해당 WAS의 스레드 덤프만 Thread dump List에 표시됩니다.
- Thread dump List: 선택한 WAS에서 수집된 스레드 덤프 목록입니다. Time 컬럼에 수집 시각이 표시됩니다.
Thread dump List 우측 상단의 [Get] 버튼을 클릭하면 현재 시점의 스레드 덤프를 즉시 수집합니다.
[Get] 버튼으로 스레드 덤프를 수집하면 JVM이 일시적으로 멈출 수 있으며, 서비스 지연이 발생할 수 있습니다.
분석할 덤프 선택하고 적용하기
Thread dump Detail 탭과 Thread dump Analyzer 탭에서 분석할 덤프는 Selected Thread dump List에 등록해야 합니다. 최대 5개까지 선택할 수 있습니다.

- Thread dump List에서 분석할 스레드 덤프의 체크박스를 선택합니다.
- 가운데
>화살표 버튼을 클릭해 선택한 항목을 Selected Thread dump List로 이동합니다.

- Selected Thread dump List에서 적용할 항목을 확인한 뒤 [Apply Selected Items] 버튼을 클릭합니다.
적용이 완료되면 하단 탭에 선택된 덤프의 분석 결과가 표시됩니다.
Thread dump Detail 탭
Thread dump Detail 탭에서는 선택한 스레드 덤프의 모든 스레드를 목록으로 확인할 수 있습니다.

목록 상단의 필터 입력창에서 스레드 이름으로 검색할 수 있습니다.
그리드 컬럼 중 특이사항이 있는 항목은 다음과 같습니다.
- Status: 스레드 상태를 배지로 표시합니다. Runnable, Waiting, Blocked, Timed Waiting 등의 상태가 색상으로 구분됩니다.
- CPU Time (sec): 스레드가 사용한 CPU 시간(초)입니다.
각 행 왼쪽의 > 버튼을 클릭하면 해당 스레드의 상세 정보가 행 아래에 펼쳐집니다.
스레드 상세 정보 확인하기
행을 펼치면 Stack 섹션과 Stack Trace 섹션이 표시됩니다.
- Stack 섹션: Thread ID, Lock Owner ID, Wait Count, Block Count, Waiting Time, Block Count, Waiting Time, Thread CPU Time, Status, Block Time, Thread Name, Lock Name, Lock Owner Name 등 해당 스레드의 상세 속성을 나열합니다.
- Stack Trace 섹션: 스레드의 스택 트레이스 전문이 표시됩니다. [Full Text] 버튼을 클릭하면 전체 텍스트를 볼 수 있고, 우측 복사 버튼으로 클립보드에 복사할 수 있습니다.
Thread dump Analyzer 탭
Thread dump Analyzer 탭에서는 선택한 스레드 덤프를 자동 분석한 결과를 확인할 수 있습니다.

탭은 세 개 영역으로 구성됩니다.
Thread Status Distribution / System Health
화면 상단에는 스레드 상태 분포와 시스템 건강도가 나란히 표시됩니다.
Thread Status Distribution 영역에는 전체 스레드 수와 상태별 수량이 표시됩니다.
- Total: 전체 스레드 수 (검정)
- Runnable: 실행 중인 스레드 수 (파랑)
- Waiting: 대기 중인 스레드 수 (노랑)
- Blocked: 블록된 스레드 수 (빨강)
System Health 영역에는 종합 점수(게이지)와 6개의 위험 지표가 표시됩니다.
- Deadlock Occurrence: 데드락 발생 횟수
- Lock Contention Risk: BLOCKED 비율(%)
- Thread Pool Risk: WAITING 비율(%)
- Resource Usage Risk (DB Thread): DB 스레드 리소스 사용 위험도(%)
- Resource Usage Risk (IO Thread): IO 스레드 리소스 사용 위험도(%)
- Responsiveness Risk: RUNNABLE 비율(%)
건강도 점수는 80점 이상이면 초록, 60점 이상이면 파랑, 40점 이상이면 노랑, 40점 미만이면 빨강으로 표시됩니다.
CPU Hotspot Analysis
CPU 사용 시간이 500ms 이상인 스레드를 Hotspot으로 식별하여 순위별로 표시합니다.
- Rank: CPU 사용 시간 기준 순위
- Thread Name: 스레드 이름
- Status: 스레드 상태 배지
- CPU(ms): CPU 사용 시간(밀리초)
- Pattern: CPU 사용 패턴을 색상 배지로 구분합니다.
- PERSISTENT — 빨강: 지속적으로 CPU를 많이 사용하는 스레드
- BURST — 노랑: 짧은 시간 폭발적으로 CPU를 사용하는 스레드
- INTERMITTENT — 파랑: 간헐적으로 CPU를 사용하는 스레드
- LOW — 초록: CPU 사용량이 낮은 스레드
- Recommendation: 해당 스레드에 대한 권고 사항
Diagnostic Report
화면 하단의 Diagnostic Report에서는 분석된 스레드 덤프를 기반으로 문제를 진단하고 권고 사항을 제공합니다.

- Summary: 탐지된 주요 문제를 요약합니다.
- Impact Assessment: 문제가 서비스에 미치는 영향도를 평가합니다.
- Detected Issues: 탐지된 개별 이슈(예: High Lock Contention, Suspected Thread Pool Leak 등)를 나열하며, 각 이슈별로 영향받는 스레드 수와 사용자 영향을 함께 표시합니다.
- Detailed Description (Root Causes): 각 이슈의 근본 원인과 발생 메커니즘을 설명합니다.
Diagnostic Report는 락 경합·스레드 풀 누수·응답 지연 등 복잡한 장애 원인을 빠르게 좁히는 데 유용합니다. CPU Hotspot Analysis와 함께 참조하면 문제가 되는 스레드와 코드 경로를 효과적으로 특정할 수 있습니다.