system-top-threads

시스템에서 부하가 높은 스레드를 CPU 사용량 기준으로 내림차순 정렬하여 조회합니다. 클러스터 관리자 권한이 필요합니다.

명령어 속성

항목설명
명령어 유형드라이버 쿼리
필요 권한클러스터 관리자 권한
라이선스 사용량집계 안 함
병렬 실행미지원
분산 실행미지원

문법

system-top-threads

옵션

옵션 없음

출력 필드

필드타입설명
tid64비트 정수스레드 번호
name문자열스레드 이름
state문자열스레드 상태. NEW, RUNNABLE, BLOCKED, WAITING, TIMED_WAITING, TERMINATED 값 중 하나를 반환합니다.
priority32비트 정수스레드 우선순위. 1부터 10 사이의 값이며, 기본값은 5입니다.
usage64비트 정수1초 간격으로 측정한 CPU 사용 시간 (단위: 나노초)
stacktrace문자열스레드 스택 트레이스 (jstack과 유사한 형식)

오류 코드

파싱 오류
오류 코드메시지설명
95050읽기 권한이 없습니다. 클러스터 관리자 권한이 필요합니다.클러스터 관리자 권한이 없는 경우
95051스레드 CPU 사용량 측정이 지원되지 않거나 비활성화되어 있습니다.JVM이 스레드 CPU 사용량 측정을 지원하지 않거나 비활성화된 경우
런타임 오류

해당 사항 없음

설명

system-top-threads 명령어는 JVM에서 CPU를 많이 사용하는 스레드를 조회합니다. 1초 간격으로 각 스레드의 CPU 사용 시간을 두 번 측정하여, 그 차이를 usage 필드에 나노초 단위로 반환합니다. CPU 사용 시간이 0 이하인 스레드(비활성 또는 대기 중인 스레드)는 결과에서 제외됩니다.

결과는 CPU 사용량이 높은 순서대로 정렬됩니다. 성능 저하 시 어떤 스레드가 CPU를 점유하고 있는지 진단하는 용도로 사용합니다.

이 명령어를 실행하려면 클러스터 관리자 권한이 필요하며, JVM이 스레드 CPU 사용량 측정을 지원해야 합니다.

사용 예

  1. CPU 사용량이 높은 스레드 조회

    system-top-threads
    
  2. CPU 사용량 상위 10개 스레드 조회

    system-top-threads | limit 10
    

호환성

system-top-threads 명령어는 소나 4.0 이전 버전부터 제공되었습니다.