system-gc-logs
JVM의 GC 로그 항목을 조회합니다. 클러스터 관리자 권한이 필요합니다.
명령어 속성
| 항목 | 설명 |
|---|---|
| 명령어 유형 | 드라이버 쿼리 |
| 필요 권한 | 클러스터 관리자 권한 |
| 라이선스 사용량 | 집계 안 함 |
| 병렬 실행 | 미지원 |
| 분산 실행 | 미지원 |
문법
system-gc-logs [fastcheck=BOOL] [duration=INT{mon|w|d|h|m|s}] [from=DATE] [to=DATE]
옵션
fastcheck=BOOL- GC 문제가 의심되는 라인만 빠르게 검사하여 출력합니다.
t로 지정하면 Allocation Stall, To-space Exhausted, Pause Full 유형의 라인만 출력합니다. (기본값:f) duration=INT{mon|w|d|h|m|s}- 현재 시각으로부터 일정 시간 범위 이내의 GC 로그만 조회합니다.
mon(월),w(주),d(일),h(시),m(분),s(초) 단위를 사용합니다. 예:10s는 쿼리 실행 시각을 기준으로 최근 10초를 의미합니다.from과to옵션을 모두 지정한 경우에는duration옵션을 사용할 수 없습니다. from=DATE- 조회 범위의 시작 시각.
yyyy[MM[dd[HH[mm[ss]]]]]형식으로 입력합니다. 월, 일 등을 입력하지 않으면 가능한 첫 시각으로 설정됩니다. 시작 시각은 조회 결과에 포함됩니다. to=DATE- 조회 범위의 끝 시각.
yyyy[MM[dd[HH[mm[ss]]]]]형식으로 입력합니다. 월, 일 등을 입력하지 않으면 가능한 첫 시각으로 설정됩니다. 끝 시각은 조회 결과에 포함되지 않습니다.
출력 필드
| 필드 | 타입 | 설명 |
|---|---|---|
| _time | 날짜 | GC 로그의 타임스탬프 |
| type | 문자열 | GC 로그 유형. ALLOC_STALL, TO_SPACE_EXHAUSTED, FULL_GC, RAW 중 하나를 반환합니다. |
| duration | 64비트 실수 | GC 수행 시간 (단위: 밀리초). ALLOC_STALL 또는 FULL_GC 유형에서만 반환됩니다. |
| level | 문자열 | GC 로그의 심각도 수준 |
| msg | 문자열 | GC 로그 메시지 본문. 로그 포맷이 [타임스탬프][레벨] 메시지 형식인 경우 반환됩니다. |
| line | 문자열 | 원본 GC 로그 라인. 파싱할 수 없는 형식이거나 RAW 유형인 경우 반환됩니다. |
오류 코드
파싱 오류
| 오류 코드 | 메시지 | 설명 |
|---|---|---|
| 95020 | 읽기 권한이 없습니다. 클러스터 관리자 권한이 필요합니다. | 클러스터 관리자 권한이 없는 경우 |
| 95030 | from 값이 유효하지 않습니다. | from 옵션 값을 날짜로 파싱할 수 없는 경우 |
| 95031 | to 값이 유효하지 않습니다. | to 옵션 값을 날짜로 파싱할 수 없는 경우 |
| 95032 | from 값이 유효하지 않습니다. | to 값이 from 값보다 이전인 경우 |
| 95023 | from 옵션과 to 옵션을 모두 지정하였을 때에는 duration 옵션을 사용할 수 없습니다. | from과 to를 모두 지정한 상태에서 duration을 사용한 경우 |
| 95131 | fastcheck 값이 유효하지 않습니다: [value] | fastcheck 옵션에 불리언이 아닌 값을 지정한 경우 |
런타임 오류
해당 사항 없음
설명
system-gc-logs 명령어는 JVM의 GC 로그 파일(gc.log)을 읽어 GC 로그 항목을 조회합니다.
fastcheck=t 옵션을 사용하면 GC 문제가 의심되는 항목(Allocation Stall, To-space Exhausted, Pause Full)만 선별하여 빠르게 조회할 수 있습니다. fastcheck=t인 경우 type 필드에 해당 유형이 반환되고, GC 수행 시간이 있는 경우 duration 필드에 밀리초 단위로 반환됩니다.
from과 to 옵션으로 시간 범위를 지정하면 해당 범위에 속하는 GC 로그 파일만 선택적으로 읽습니다.
이 명령어를 실행하려면 클러스터 관리자 권한이 필요합니다.
사용 예
-
전체 GC 로그 조회
system-gc-logs -
GC 문제 항목만 빠르게 조회
system-gc-logs fastcheck=t -
최근 1시간의 GC 로그 조회
system-gc-logs duration=1h -
Full GC 발생 빈도 분석
system-gc-logs fastcheck=t duration=1d | search type == "FULL_GC" | stats count() as cnt, avg(duration) as avg_ms
호환성
system-gc-logs 명령어는 소나 4.0.2511.0 버전부터 제공되었습니다.