PCA — Prometheus Certified Associate
Quiz: GPU and Serving Metrics
한국어 원문으로 표시합니다.
DCGM_FI_DEV_GPU_UTIL 이 3시간 내내 0 인데 DCGM_FI_DEV_FB_USED 는 14,000 MiB 입니다. 이 GPU 를 어떻게 보고해야 합니까?
- 계산은 하지 않지만 메모리를 점유해 다른 워크로드가 쓸 수 없는 상태로 보고한다
- 완전히 놀고 있으므로 가용 GPU 한 장으로 계산한다
- 사용률 지표가 고장 났으므로 dcgm-exporter 를 재시작해야 한다
- 메모리 누수가 있으므로 해당 파드를 즉시 재시작해야 한다
DCGM_FI_DEV_TOTAL_ENERGY_CONSUMPTION 에서 평균 전력(W)을 구하는 식은?
avg_over_time(DCGM_FI_DEV_TOTAL_ENERGY_CONSUMPTION[30m]) / 1000DCGM_FI_DEV_TOTAL_ENERGY_CONSUMPTION / 3600increase(DCGM_FI_DEV_TOTAL_ENERGY_CONSUMPTION[30m]) * 1000rate(DCGM_FI_DEV_TOTAL_ENERGY_CONSUMPTION[30m]) / 1000
GPU 가 노는지 판정할 때 순간값 대신 max_over_time(...[3h]) 를 쓰는 이유는?
- 순간 질의는 스크레이프 주기와 어긋나 항상 빈 결과를 내기 때문이다
- 바쁜 GPU 도 커널 사이의 빈 순간에 0 으로 찍히므로, 한 점으로는 논다고 말할 수 없기 때문이다
- DCGM 이 사용률을 3시간 평균으로만 계산해 내보내기 때문이다
- max_over_time 을 써야 카운터 리셋이 보정되기 때문이다
dcgm-exporter 의 exported_pod 라벨이 비어 있는 GPU 가 있습니다. 운영상 무엇이 문제입니까?
- 그 GPU 의 사용률과 메모리 값이 함께 신뢰할 수 없게 된다
- 그 GPU 는 스케줄러가 할당하지 못해 영구히 비어 있게 된다
- 어느 파드가 그 GPU 를 쓰는지 지표만으로 알 수 없어 비용 배분과 회수 판정이 멈춘다
- 프로메테우스가 그 계열을 카디널리티 초과로 버리게 된다
vLLM v1 에서 KV 캐시 점유를 보려면 어떤 지표를 써야 합니까?
vllm:kv_cache_usage_perc— v0 의vllm:gpu_cache_usage_perc가 이 이름으로 바뀌었다vllm:gpu_cache_usage_perc— v1 에서도 이름이 그대로다DCGM_FI_DEV_FB_USED— KV 캐시는 GPU 메모리이므로 같은 값이다vllm:num_requests_running— 실행 중 요청 수가 곧 캐시 점유다
추론 서버의 GPU 사용률이 100% 인데 사용자는 '응답이 느리다' 고 합니다. 먼저 볼 지표는?
DCGM_FI_DEV_GPU_TEMP— 온도가 높아 클럭이 떨어졌는지 본다vllm:num_requests_waiting과vllm:time_to_first_token_seconds— 대기열이 쌓여 첫 토큰이 늦는지 본다DCGM_FI_DEV_FB_FREE— 메모리가 모자라 스왑이 일어나는지 본다container_cpu_cfs_throttled_periods_total— CPU 한도에 걸렸는지 본다