system-threads
시스템의 모든 스레드 스택과 락 상태를 조회합니다. 클러스터 관리자 권한이 필요합니다.
명령어 속성
| 항목 | 설명 |
|---|---|
| 명령어 유형 | 드라이버 쿼리 |
| 필요 권한 | 클러스터 관리자 권한 |
| 라이선스 사용량 | 집계 안 함 |
| 병렬 실행 | 미지원 |
| 분산 실행 | 미지원 |
문법
system-threads [prettystack=BOOL] [stack=BOOL]
옵션
prettystack=BOOL- 스택 트레이스를 읽기 좋은 형식으로 변환합니다. (기본값:
t)
t: 스택 트레이스를 jstack과 동일한 문자열 형식으로 변환하여 반환합니다.f: 스택 트레이스를 클래스, 파일, 행 번호, 메서드 정보를 포함하는 맵의 배열로 반환합니다.
stack=BOOL- 스택 트레이스를 조회합니다. (기본값:
t)
t: JMX ThreadMXBean을 사용하여 스레드 스택 트레이스와 락 정보를 조회합니다.f: 스택 트레이스를 조회하지 않고, 스레드 번호, 이름, 상태만 반환합니다.
출력 필드
| 필드 | 타입 | 설명 |
|---|---|---|
| tid | 64비트 정수 | 스레드 번호 |
| name | 문자열 | 스레드 이름 |
| state | 문자열 | 스레드 상태. NEW, RUNNABLE, BLOCKED, WAITING, TIMED_WAITING, TERMINATED 값 중 하나를 반환합니다. |
| stacktrace | 문자열 | 스레드 스택 트레이스 (jstack과 동일한 형식). stack=f인 경우 이 필드는 반환하지 않습니다. |
오류 코드
파싱 오류
| 오류 코드 | 메시지 | 설명 |
|---|---|---|
| 95040 | 읽기 권한이 없습니다. 클러스터 관리자 권한이 필요합니다. | 클러스터 관리자 권한이 없는 경우 |
| 92004 | 잘못된 옵션 값입니다: [option]=[value] | prettystack 또는 stack 옵션에 불리언이 아닌 값을 지정한 경우 |
런타임 오류
해당 사항 없음
설명
system-threads 명령어는 JVM의 모든 스레드에 대한 스택 트레이스와 락 상태를 조회합니다. 장애 분석이나 성능 진단 시 스레드 덤프를 확인하는 용도로 사용합니다.
stack=t (기본값)인 경우 JMX ThreadMXBean을 통해 스레드 정보와 스택 트레이스를 함께 조회합니다. prettystack=t (기본값)이면 락 정보를 포함하는 jstack 형식의 문자열로 변환합니다. prettystack=f이면 스택 트레이스를 클래스, 파일, 행 번호, 메서드 정보를 포함하는 맵의 배열로 반환합니다.
stack=f인 경우 스레드 목록만 조회하고, 스택 트레이스는 반환하지 않습니다. 스택 트레이스 없이 스레드 상태만 빠르게 확인할 때 유용합니다.
이 명령어를 실행하려면 클러스터 관리자 권한이 필요합니다.
사용 예
-
전체 스레드 덤프 조회
system-threads -
스택 트레이스 없이 스레드 목록만 조회
system-threads stack=f -
스택 트레이스를 배열 형식으로 조회
system-threads prettystack=f -
BLOCKED 상태의 스레드 조회
system-threads | search state == "BLOCKED"
호환성
system-threads 명령어는 소나 4.0 이전 버전부터 제공되었습니다.