LabHub

한국어

시작하기
블로그

블로그

DCGM exporter 지표 전부 해부: 실제로 나오는 18개와 나오지 않는 것

상태: 초안 (2026-10-05), 실측 반영. 지표 목록, 값, 레이블, 로그는 실험 환경의 dcgm-exporter 에서 읽기 전용으로 받은 것입니다. 지표 의미의 보충 설명은 NVIDIA DCGM 과 dcgm-exporter 문서에 근거하며, 이 글을 쓰는 시점에 문서를 다시 열어 대조하지는 않았습니다(미확인). PromQL 예시는 실행하지 않았습니다(미실행). 작성 규칙: 실측 데이터가 기본이고, 못 잰 것은 「미실측」으로 표시합니다.

목차

1. 구조와 실험 환경의 구성

DCGM(Data Center GPU Manager)은 NVIDIA 의 GPU 관리·모니터링 라이브러리이고, dcgm-exporter 는 DCGM 이 읽은 값을 Prometheus 형식으로 내보내는 프로그램입니다. 흐름은 「GPU 드라이버(NVML) → DCGM → dcgm-exporter(HTTP 9400) → Prometheus」입니다.

실험 환경의 구성은 다음과 같습니다.

항목 값
이미지 nvcr.io/nvidia/k8s/dcgm-exporter:4.5.3-4.8.2-distroless
배포 방식 GPU Operator 의 DaemonSet
서비스 nvidia-dcgm-exporter ClusterIP, 포트 9400
수집 목록 환경변수 DCGM_EXPORTER_COLLECTORS=/etc/dcgm-exporter/dcp-metrics-included.csv
쿠버네티스 연동 DCGM_EXPORTER_KUBERNETES=true

2. 실제로 나온 18개 지표

8GB급 노트북 GPU 한 장의 출력 54줄에 지표 18개가 있었고, 같은 세대의 다른 노트북 GPU 에서도 같은 18개였습니다. 아래 표의 값은 이 GPU 가 유휴일 때의 예시 값입니다. 의미는 지표의 HELP 문구와 DCGM 문서에 근거합니다.

2.1 클럭, 온도, 전력

지표 종류 단위 의미 예시 값
DCGM_FI_DEV_SM_CLOCK gauge MHz SM(연산 유닛) 클럭 210
DCGM_FI_DEV_MEM_CLOCK gauge MHz 메모리 클럭 8001
DCGM_FI_DEV_GPU_TEMP gauge ℃ GPU 온도 40
DCGM_FI_DEV_MEMORY_TEMP gauge ℃ 메모리 온도 0
DCGM_FI_DEV_POWER_USAGE gauge W 순간 전력 1.22
DCGM_FI_DEV_TOTAL_ENERGY_CONSUMPTION counter mJ 부팅 후 누적 에너지 8,447,476,600

2.2 사용률

지표 종류 단위 의미 예시 값
DCGM_FI_DEV_GPU_UTIL gauge % 샘플 구간에서 커널이 하나라도 실행 중이던 시간 비율 0
DCGM_FI_DEV_MEM_COPY_UTIL gauge % 메모리 컨트롤러가 읽기·쓰기에 쓰인 시간 비율 0
DCGM_FI_DEV_ENC_UTIL gauge % 비디오 인코더 사용률 0
DCGM_FI_DEV_DEC_UTIL gauge % 비디오 디코더 사용률 0

GPU_UTIL 의 가장 큰 함정은 이름이 주는 인상입니다. 이 값은 「SM 이 얼마나 꽉 차 있는가」가 아니라 「커널이 하나라도 돌고 있던 시간의 비율」입니다(문서 기준). 작은 커널 하나가 계속 돌면 SM 대부분이 놀아도 100% 가 나옵니다. 그래서 LLM 서빙에서 GPU 가 실제로 포화되었는지는 이 값만으로 알 수 없습니다. 아래 5절에서 보듯 이 실험 환경의 GPU 는 더 정확한 지표(프로파일링)를 받을 수 없습니다.

2.3 메모리

지표 단위 의미 예시 값(8GB급 노트북 GPU)
DCGM_FI_DEV_FB_USED MiB 사용 중인 프레임버퍼 12
DCGM_FI_DEV_FB_FREE MiB 비어 있는 프레임버퍼 7,795
DCGM_FI_DEV_FB_RESERVED MiB 드라이버가 예약한 영역 380

세 값을 더하면 GPU 의 전체 메모리가 됩니다. 위 예시는 12 + 7,795 + 380 = 8,187MiB 이고, 같은 급의 다른 카드에서는 8,186MiB, 24GB급 소비자용 GPU 에서는 24,575MiB 로 각각 8GiB 급과 24GiB 급 카드에 맞습니다. 그래서 사용률을 계산할 때 분모에는 USED + FREE 가 아니라 USED + FREE + RESERVED 를 써야 정확합니다. 예약 영역은 모델이 쓸 수 없는 공간입니다.

2.4 오류와 신뢰성

지표 종류 의미 값
DCGM_FI_DEV_PCIE_REPLAY_COUNTER counter PCIe 재전송 누적 횟수 0
DCGM_FI_DEV_UNCORRECTABLE_REMAPPED_ROWS counter 정정 불가 오류로 재배치된 메모리 행 수 0
DCGM_FI_DEV_CORRECTABLE_REMAPPED_ROWS counter 정정 가능 오류로 재배치된 메모리 행 수 0
DCGM_FI_DEV_ROW_REMAP_FAILURE gauge 행 재배치 실패 여부(0 이 정상) 0
DCGM_FI_DEV_VGPU_LICENSE_STATUS gauge vGPU 라이선스 상태 0

3. 레이블

모든 지표에 같은 레이블이 붙습니다.

레이블 값의 예 용도
gpu 0 노드 안의 GPU 번호
UUID GPU-… GPU 를 영구적으로 구별(교체를 추적)
pci_bus_id 00000000:01:00.0 물리 위치
device nvidia0 장치 노드
modelName GPU 모델 이름 모델
Hostname 노드 이름 노드
DCGM_FI_DRIVER_VERSION 595.91.07 드라이버 버전

GPU 를 쓰는 파드가 있으면 container, namespace, pod 레이블이 더해집니다. GPU 를 쓰는 파드가 있는 GPU 에서 이 세 레이블이 붙은 것을 확인했습니다. 이 세 가지는 kubelet 의 pod-resources 소켓에서 얻으며, GPU 가 비어 있는 경우에는 붙어 있지 않았습니다.

파드의 사용자 정의 레이블을 붙이려면 exporter 가 API 서버를 읽을 권한이 필요합니다. 실험 환경에서는 exporter 가 클러스터 안에서 API 서버에 접근하지 못하는 상태였고, 로그에 Failed to get in-cluster config, pod labels will not be available 가 남았습니다. 파드 레이블로 팀이나 프로젝트별 비용을 집계하려면 exporter 에 API 서버 읽기 권한을 주어야 한다는 뜻이지만, 그렇게 바꾸어 보지는 않았습니다(미시험).

레이블 값의 종류는 GPU 수에 비례하므로 이 지표의 카디널리티는 작습니다. 다음 글(Cilium 지표)의 Hubble 과 대비되는 점입니다.

4. 레이블로 드러나는 차이와 관찰

5. 나오지 않는 것과 그 이유

exporter 시작 로그에 이유가 그대로 남아 있습니다(8GB급 노트북 GPU, 2026-09-23).

Not collecting DCP metrics: Profiling is not supported for this group of GPUs or GPU
Skipping line 21 ('DCGM_FI_PROF_GR_ENGINE_ACTIVE'): metric not enabled
Skipping line 22 ('DCGM_FI_PROF_PIPE_TENSOR_ACTIVE'): metric not enabled
Skipping line 23 ('DCGM_FI_PROF_DRAM_ACTIVE'): metric not enabled
Skipping line 24 ('DCGM_FI_PROF_PCIE_TX_BYTES'): metric not enabled
Skipping line 25 ('DCGM_FI_PROF_PCIE_RX_BYTES'): metric not enabled
Not collecting NvSwitch metrics; no switches to monitor
Not collecting CPU metrics; ... DCGM module that is not currently loaded
없는 지표 의미 이 환경에서 없는 이유
DCGM_FI_PROF_GR_ENGINE_ACTIVE 그래픽 엔진이 활성인 시간 비율 이 GPU 군은 프로파일링 미지원(로그)
DCGM_FI_PROF_PIPE_TENSOR_ACTIVE 텐서 코어가 활성인 비율 위와 같음
DCGM_FI_PROF_DRAM_ACTIVE 메모리 인터페이스가 활성인 비율 위와 같음
DCGM_FI_PROF_PCIE_TX/RX_BYTES PCIe 송수신 바이트 위와 같음
NVSwitch, NVLink 지표 스위치와 링크 상태 스위치가 없음(로그)
호스트 CPU 지표 CPU 코어 상태 DCGM 모듈 미로드(로그)

LLM 서빙 운영에서 가장 아쉬운 것은 프로파일링 지표입니다. 텐서 코어 활성 비율과 DRAM 활성 비율을 알아야 「연산이 병목인가, 메모리 대역폭이 병목인가」를 가를 수 있는데, 이 소비자용 노트북 GPU 들에서는 받을 수 없습니다. 데이터센터 GPU 에서는 같은 설정으로 나온다고 알려져 있지만 이 실험 환경에서는 확인할 수 없습니다(미실측).

XID 오류 지표와 전력·열 제한 위반 지표는 이 출력에 없습니다. 로그의 건너뜀 목록에도 없습니다. 처음에는 사용하는 수집 목록에 XID 가 애초에 없는 것으로 추정했지만, 외부 자료로 확인하니 그 추정이 틀렸습니다. 이 파드의 설정은 DCGM_EXPORTER_COLLECTORS=/etc/dcgm-exporter/dcp-metrics-included.csv, 이미지 태그는 4.5.3-4.8.2-distroless 이고, 업스트림 저장소의 같은 태그 파일(원문 확인)에는 DCGM_FI_DEV_XID_ERRORS 가 활성 줄(주석을 뺀 순번 11)로 들어 있습니다. 같은 파일의 다섯 PROF 줄이 로그의 「Skipping line 21」에서 「line 25」와 정확히 겹치고, 우리가 본 18개 지표가 이 파일의 활성 26줄에서 XID, NVLink 대역폭, PROF 다섯 줄을 뺀 것과 정확히 같습니다. 따라서 목록에는 있으나 이 GPU 에서 값이 나오지 않은 것으로 보입니다(추정. exporter 소스는 DCGM 이 blank 값을 돌려주면 그 지표를 건너뜁니다. 실행 중인 파일을 열어 보지는 못했고(distroless), 지금 DCGM_FI_DEV_XID_ERRORS 계열 줄은 0개입니다). 전력·열 제한 위반 지표는 업스트림 파일에서 주석 처리되어 있어 애초에 목록에 없습니다. 지금 XID 는 커널 로그(NVRM: Xid)로만 확인할 수 있고, 이 흐름은 11편에서 이어서 다룹니다.

6. 쿼리 예시 (미실행)

실제 Prometheus 에 실행하지 않은 예시입니다. 지표 이름과 단위는 위 실측과 맞췄습니다.

# 평균 전력(W): 누적 에너지(mJ)의 증가율을 1000 으로 나눈다
rate(DCGM_FI_DEV_TOTAL_ENERGY_CONSUMPTION[5m]) / 1000

# 메모리 사용률: 분모에 예약 영역까지 포함한다
DCGM_FI_DEV_FB_USED / (DCGM_FI_DEV_FB_USED + DCGM_FI_DEV_FB_FREE + DCGM_FI_DEV_FB_RESERVED)

# 알림 후보
DCGM_FI_DEV_ROW_REMAP_FAILURE > 0
increase(DCGM_FI_DEV_PCIE_REPLAY_COUNTER[1h]) > 0

7. 면접에서 나올 만한 질문

8. 흔한 오해

외부 근거: 공식 문서와 소스로 확인한 것

주제 자료와 확인한 위치 확인한 내용 이 글과의 관계
프로파일링 지표가 안 나오는 이유 DCGM Feature Overview(지원 제품 표), dcgm-exporter default-counters.csv 주석과 소스(pkg/cmd/app.go, fieldIsSupported) 프로파일링 지표는 데이터센터 Volta 이상에서만 지원. exporter 는 시작할 때 DCGM 에 프로파일링 지원을 물어 실패하면 「Not collecting DCP metrics」를 남기고 PROF 줄을 「metric not enabled」로 건너뜀 지지. 이 글이 본 로그 문구와 일치
소비자용 GPU 의 DCGM 기능 같은 표 소비자용 제품군에서는 필드 값 감시, 설정 관리, 헬스 체크, 작업 통계, 토폴로지가 되고 정책 알림은 Tesla 에서만, 진단은 레벨 1 만 지지. 「제한된 기능」 서술과 일치
XID 지표가 안 나오는 이유 dcgm-exporter 업스트림 dcp-metrics-included.csv(태그 4.5.3-4.8.2) DCGM_FI_DEV_XID_ERRORS 가 활성 줄이고 PROF 다섯 줄의 순번이 로그와 정확히 겹침 반박(원래 추정). 목록에 없어서가 아니라 값이 나오지 않은 것으로 고침

확인하지 못한 것

참고 자료

확인한 버전과 날짜

2026-10-05 기준. dcgm-exporter 4.5.3-4.8.2, 드라이버 595.91.07 과 570.195.03.

로그인하면 좋아요를 누를 수 있습니다

댓글

아직 댓글이 없습니다.

로그인하면 댓글을 쓸 수 있습니다