DGX Spark 계열(GB10 SoC)에는 와트 단위 전력 한도(nvidia-smi -pl)를 걸 수 없다.
대신 nvidia-smi -lgc로 GPU 클럭 상한을 지정하는 방식이 사실상 표준이다.
ASUS Ascent GX10에는 300~2000MHz 상한을 systemd 서비스로 걸어 두었고, 재부팅 후에도 유지된다.
MiniMax-H3에서는 부하 전력이 대략 83W → 44W(−47%)로 줄고 생성 시간은 9~17% 늘어났다.
DeepSeek-V4-Flash(UD-Q2_K_XL)에서는 부하 전력 약 43W → 22W(−49%), decode 속도는 약 5% 느려졌다.
아래에서 설정 방법, 측정 방법, 워크로드별 실측, 상한 스윕, 일상 운용을 정리한다.
왜 와트가 아니라 클럭인가
일반 데스크톱 GPU라면 nvidia-smi -pl 150처럼 와트를 직접 지정한다. GB10(Grace Blackwell 통합 SoC)에는 그 인터페이스 자체가 없다. 이 장비에서 확인한 내용:
nvidia-smi -q -d POWER의 전력 한도 필드(Current/Default/Min/Max Power Limit)가 전부 N/A다. 드라이버(NVML)가 노출하지 않는다.
리눅스 표준 전력 인터페이스(/sys/class/powercap, devfreq)도 비어 있고, Jetson 계열 도구(nvpmodel, jetson_clocks)도 없다.
X 커뮤니티 조사(2025-10~2026-08)에서도 GB10 계열에서 -pl 성공 사례는 없었다. 전력은 SoC 펌웨어가 관리한다(SoC TDP 약 140W, PSU 240W, 실제 추론 부하에서는 50~160W 관측).
대신 클럭 상한을 걸면 전압도 같이 내려간다. 전력은 대략 전압²×클럭에 비례하므로, 와트 제한보다 효과가 더 크게 나오는 경우가 많다. 커뮤니티에서도 여름 운용 때 흔히 쓰는 방법이 -lgc다. 참고할 만한 커뮤니티 글이다.
DGX Spark, 앞으로 여름을 앞두고 GPU 클럭을 내리면 속도는 조금 희생되지만 발열이 덜하다. 기본 배기의 뜨거운 정도가 장난 아니다.
최대 3000이지만 우리 집에서는 1500~2500으로 운용한다.
sudo nvidia-smi -lgc 300,2500 ← 평소
sudo nvidia-smi -lgc 300,1500 ← 급하지 않을 때
DGX Spark appears to be maxing out at only 100 watts power draw, less than half of the rated 240 watts, and it only seems to be delivering about half the quoted performance (assuming 1 PF sparse FP4 = 125 TF dense BF16) . It gets quite hot even at this level, and I saw a report of spontaneous rebooting on a long run, so was it de-rated before launch?
DGX Spark가 전력 소모 약 100W에서 막히는 것 같다. 정격 240W의 절반도 안 되고, 공시 성능의 절반 정도만 나오는 느낌이다(1 PF sparse FP4 = 125 TF dense BF16 가정). 이 수준에서도 꽤 뜨겁고, 긴 작업에서 갑자기 재부팅됐다는 보고도 봤다. 출시 전에 디레이트된 건가?
Carmack 관측은 “정격 240W의 절반 근처에서 막힌다”는 SoC 전력 상한 논의의 출발점이다. 와트 한도 API가 없는 것과는 별개로, 보드가 실제로 그리는 전력이 스펙 라벨보다 낮다는 현장 보고다.
클럭 제한 설정하는 법
한 번만 적용 (재부팅하면 풀림)
sudo nvidia-smi -lgc 300,2000 # 상한 2000MHz (하한 300MHz는 유휴용. 낮게 두는 편이 유휴 전력에 유리하다)
sudo nvidia-smi -rgc # 즉시 해제
지정한 값은 내부 클럭 단계에 맞춰 반올림된다. 2000을 넣으면 실측으로는 약 1989MHz에 붙었다. 지원 클럭 표는 조회가 안 된다(SUPPORTED_CLOCKS도 N/A). 적용한 뒤에는 부하 중 clocks.current.sm을 보면 실제 클럭을 확인할 수 있다.
ExecStop에 해제 명령을 넣어 두면 systemctl stop이 곧 상한 해제가 된다. 서비스를 켜고 끄면 클럭 제한도 같이 켜지고 꺼진다.
실측: 전력·온도·성능
장비는 ASUS Ascent GX10(GB10), 통합 메모리 121GB, 드라이버 580.173.02. 클럭 상한은 systemd로 300,2000(실측 약 1969MHz). 상한을 끄면 부하 중 SM은 대략 2400~2500MHz대다.
측정 방법
표의 숫자는 한 순간만 찍은 값이 아니다. 벤치 동안 1초마다 샘플을 남긴 뒤, GPU 이용률이 높은 구간만 골라 평균냈다.
샘플러: 약 1초마다 nvidia-smi로 전력·이용률·GPU 온도·SM 클럭·팬 값을 CSV에 남겼다. 벽면 전력계가 아니라 드라이버가 보고하는 GPU 패키지 전력이다. 팬 속도는 GB10에서 [N/A]라 비어 있고, 대신 ACPI 온도(acpitz 최댓값)를 같이 기록했다.
부하 구간: H3는 util 50% 이상, DeepSeek는 40% 이상인 샘플만 모아 전력·온도 평균을 냈다. 로딩·유휴처럼 쉬는 구간을 빼기 위한 기준이다. 표에는 그 구간의 최솟값~최댓값도 적었다.
성능: H3는 ComfyUI API로 한 번 생성한 wall time이다(시드·해상도·프레임 고정). DeepSeek는 워밍업 1회 뒤 256토큰 생성을 3번 돌린 뒤 decode tok/s의 중앙값을 썼고, 런별 값도 표에 넣었다.
바꾸는 변수: 바꾼 변수는 클럭 상한 on/off뿐이다. 워크로드·프롬프트·시드·양자화는 같다.
# 전력 로거 핵심 (약 1Hz)
nvidia-smi --query-gpu=power.draw,utilization.gpu,temperature.gpu \
--format=csv,noheader,nounits
한계도 있다. H3 생성 시간은 조건당 1회라 실행마다의 흔들림은 안 보인다. DeepSeek는 3회라 속도 쪽은 조금 더 안심할 수 있다. 전력은 GPU 센서 기준이라 보드 전체 소비와는 다를 수 있고, 샘플 간격이 약 1초라 수 ms 단위 스파이크는 놓친다.
MiniMax-H3 · 2000 on/off 비교
상한을 2000과 무제한만 바꿔, Turbo 8과 20step 두 워크플로를 나란히 본다. 1400부터 무제한까지 200MHz 간격 스윕은 아래 H3 상한 스윕에 있다.
ComfyUI 헤드리스 생성 중 1초 샘플. 전력·온도는 util ≥ 50% 평균, 괄호는 그 구간 min~max.
전력: 상한을 켜면 부하 전력이 대략 절반 (Turbo 8: 82.6→44.0W, −47%. 20 step: 87.0→51.2W, −41%). 시계열에서도 고원이 통째로 아래로 이동한다.
온도: 부하 평균 약 15~20°C 하락 (Turbo 8: 80.8→59.5°C).
시간: 총 시간 +9~17% (20 step +9.5%, Turbo 8 +17%). 클럭 −18%보다 시간 증가가 작다.
워크플로: 이 장비에서는 20 step + TeaCache가 Turbo 8보다 빨랐다. 상한을 켠 상태에서도 89.7초로, Turbo 8의 114초보다 짧다.
조건은 해상도 864×480, 124프레임(약 5.2초), 시드 1234, 같은 프롬프트, ComfyUI API 헤드리스. DiT는 pruned NVFP4, 텍스트 인코더 NVFP4, 비디오 VAE int8_convrot.
DeepSeek-V4-Flash · 1대 (통합 메모리 121GB)
GX10 한 대(통합 메모리 121GB)에서 돌아가도록 고른 Unsloth 양자화다. Unsloth UD-Q2_K_XL(3 shard, 디스크 ~91GB). 러너는 네이티브 llama-server(CUDA, -ngl 999, flash-attn, ctx 4096). 각 상한마다 워밍업 64토큰 한 번 뒤 256토큰 생성을 세 번. 전력은 util 40% 이상 구간의 평균.
표 1b. decode 요약 (3회 중앙값)
상한
decode tok/s
prompt tok/s
256tok wall
전력(부하)
온도(부하)
끔 (~2.4–2.5GHz)
17.5
69.9
14.9s
42.6W(41.3–43.7)
58.6°C
켬 (~1.97GHz)
16.6
65.7
15.7s
21.9W(18.5–22.4)
49.8°C
표 1c. 런별 decode tok/s (256 토큰, 동일 프롬프트)
상한
run1
run2
run3
중앙값
범위
끔
17.49
17.51
17.49
17.49
17.49–17.51 (±0.1%)
켬
16.55
16.67
16.64
16.64
16.55–16.67 (±0.4%)
세 번의 편차가 1% 미만이다. 우연한 한 점이 아니라, 같은 조건에서 거의 같은 속도가 나온다. 상한 on/off 차이(약 −4.9%)는 그 편차보다 훨씬 크다.
그림 3a. DeepSeek — 전력 (1Hz, 워밍업+3회)
전력만. 상한 끔 ~42W, 켬 ~22W 고원.
그림 3b. DeepSeek — 온도 (1Hz, 같은 구간)
온도만. 상한 끔/켬.
그림 4. decode 속도 / 부하 평균 전력
끔 tok/s
17.5
켬 tok/s
16.6
끔 전력
42.6W
켬 전력
21.9W
전력 −49%, 속도 −4.9%. LLM decode가 비디오 DiT(+9~17% 시간)보다 클럭 상한에 덜 민감했다.
온도 58.6→49.8°C(약 −9°C).
고정 조건: 동일 프롬프트, n_predict=256, temperature 0.6, top_p 0.95, cache_prompt=false. 모델 상주 시 통합 메모리 약 94GB.
DeepSeek 상한 스윕 (1400 → 무제한, 200MHz)
DeepSeek-V4-Flash만, 동일 조건으로 상한만 바꿔 10점을 찍었다.
각 점: 워밍업 64토큰 + 256토큰 3회(중앙값). 1Hz CSV에 전력·util·GPU온도·SM클럭·팬·ACPI 온도를 남겼다.
팬 속도: 이 장비(GB10)에서 nvidia-smi fan.speed는 항상 [N/A]다.
hwmon 팬 노드·IPMI·PWM 칩도 없다. CSV fan_pct 컬럼은 남겨 두었지만 전 구간 null.
대신 GPU 온도와 ACPI acpitz zone 최댓값을 열 프록시로 기록했다.
표 1d. 상한 스윕 요약 (부하 util≥40% 평균, 2026-08-10)
상한
SM 실측
decode tok/s
전력 W
GPU °C
ACPI °C
팬
tok/W
1400
1391
14.99
14.7 (13.2–15.0)
48.8 (47–50)
57.6
N/A
1.020
1600
1586
15.73
16.8 (16.1–17.4)
51.2 (50–52)
59.2
N/A
0.936
1800
1768
16.24
19.0 (18.3–19.4)
52.7 (52–53)
59.9
N/A
0.855
2000
1964
16.67
22.3 (21.7–23.0)
54.5 (53–55)
61.8
N/A
0.748
2200
2185
17.05
27.6 (26.4–28.4)
56.8 (55–58)
65.3
N/A
0.618
2400
2379
17.37
34.0 (32.6–34.4)
59.7 (58–61)
67.6
N/A
0.511
2600
2498
17.47
43.8 (42.0–44.6)
64.0 (62–66)
70.5
N/A
0.399
2800
2495
17.43
44.3 (42.5–44.9)
66.6 (65–68)
72.8
N/A
0.394
3000
2495
17.45
44.8 (43.1–45.2)
68.3 (67–70)
74.7
N/A
0.390
무제한
2496
17.47
44.8 (42.1–46.0)
68.5 (66–69)
75.1
N/A
0.390
그림 5a. DeepSeek 상한별 decode tok/s
속도만. 호버 시 해당 상한 수치.
그림 5b. DeepSeek 상한별 부하 전력
전력만 (막대).
그림 5c. DeepSeek 상한별 GPU 온도
온도만.
그림 6a. DeepSeek 선택 상한 — 전력 1Hz (1400 / 2000 / 2400 / ∞)
전력만 4선.
그림 6b. DeepSeek 선택 상한 — 온도 1Hz
온도만 4선. 6a와 같은 시각축.
그림 7a. DeepSeek 상한별 SM 클럭 실측
SM MHz만. 2600+에서 ~2495에 붙는다.
그림 7b. DeepSeek 상한별 효율 (tok/W)
효율만. 낮은 상한일수록 높다.
정리하면, 일상 기본값은 2000이 무난하다. 속도가 더 필요하면 2200~2400. 2600 이상은 DeepSeek 디코드 기준으로는 이득이 거의 없다. H3 같은 비디오 부하는 병목이 달라 최적 상한이 조금 다를 수 있다.
MiniMax-H3 상한 스윕 (1400 → 무제한, 200MHz)
DeepSeek 스윕과 같은 상한 점이다:
1400, 1600, 1800, 2000, 2200, 2400, 2600, 2800, 3000, 무제한.
워크플로는 이전에 가장 빨랐던 스택 하나(NVFP4 DiT + Sage + TeaCache + VAE int8, 20 step, 864×480, 124프레임). 시드는 상한마다 다르게 잡았다.
상한마다 생성 한 번(약 95~125초). 1초 간격으로 전력·온도·SM을 기록했다(팬은 N/A).
표 1e. H3 상한 스윕 (util≥50% 부하 평균, 2026-08-10)
상한
SM 실측
총 시간
샘플링
전력 W
GPU °C
팬
샘플 수
1400
1390
125.3s
85.8s
28.3 (13.9–30.1)
51.6 (42–55)
N/A
122
1600
1583
113.3s
77.5s
33.4 (9.6–36.3)
53.8 (43–58)
N/A
110
1800
1774
107.3s
72.4s
40.7 (16.2–44.0)
60.8 (55–64)
N/A
105
2000
1964
102.7s
68.7s
50.3 (31.4–55.2)
66.2 (58–70)
N/A
100
2200
2171
97.2s
65.6s
64.5 (39.7–70.8)
72.5 (64–78)
N/A
95
2400
2340
96.8s
64.6s
83.4 (29.6–90.6)
80.1 (70–87)
N/A
95
2600
2362
95.3s
64.8s
86.9 (55.0–93.0)
82.6 (71–89)
N/A
93
2800
2356
97.0s
64.4s
86.7 (46.3–92.1)
83.9 (73–89)
N/A
95
3000
2352
95.2s
64.8s
86.3 (59.9–91.2)
83.0 (72–88)
N/A
93
무제한
2341
96.1s
65.2s
86.3 (62.4–92.3)
84.1 (73–89)
N/A
94
그림 8a. H3 상한별 총 생성 시간
시간만 (초). 낮을수록 빠름.
그림 8b. H3 상한별 부하 전력
전력만.
그림 8c. H3 상한별 GPU 온도
온도만.
그림 9a. H3 선택 상한 — 전력 1Hz (1400 / 2000 / 2400 / ∞)
전력만 4선.
그림 9b. H3 선택 상한 — 온도 1Hz
온도만 4선.
시간: 1400=125s → 2000=103s → 2200=97s → 2400 이후 ~95–97s로 정체. 무제한 대비 2000MHz는 약 7% 더 걸린다.
전력: 1400=28W → 2000=50W → 2400=83W → 2600+ ≈86W. DS와 달리 2400까지 전력이 크게 오른다.
USB-C 펌웨어 업데이트: 다음 재부팅 때 fwupdmgr update (PD 버그 예방).
H3 Turbo 8 스윕: 지금은 20step 스택만 200MHz 간격으로 측정했다. Turbo 8도 같은 간격으로 찍으면 비교가 더 분명해진다.
부록 · PD 저클럭 고착 버그
앞에서 다룬 클럭 제한 설정과는 별개다. 성능이 갑자기 이상하게 떨어졌을 때만 보면 된다.
GB10 계열에서 가끔 보고되는 펌웨어 쪽 현상이다. 최대 부하인데도 클럭이 400~950MHz에 붙고, 전력은 10W 근처, 성능은 1/3~1/5로 내려간다. thermal/power slowdown 플래그는 전부 Not Active라 스로틀로 오해하기 쉽다. USB-C PD 컨트롤러가 전력 협상을 잘못해 SoC가 스스로 클럭을 묶는 경우로 알려져 있다.
의도적으로 건 상한(약 1969MHz)과 구분한다. 부하 중 SM 클럭이 400~950MHz면 이 버그를 의심하고, 1970MHz 안팎이면 설정한 상한이 정상 동작 중인 것이다.
부하 중 클럭으로 구분
부하 중 클럭
진단
조치
~1970MHz 안팎
클럭 상한 정상
필요하면 systemctl stop gpu-clock-cap
400~950MHz 고정
PD 고착 가능
아래 절차. 재부팅·-rgc만으로는 안 풀리는 경우가 많다
해제 절차 (커뮤니티에서 반복 확인)
종료
→
전원 케이블 뽑기
→
전원 버튼으로 방전
→
1분 대기
→
재연결·부팅
PD 컨트롤러는 재부팅만으로 전원이 안 끊기는 경우가 있어, 전원 케이블을 뽑는 쪽이 확실하다. 예방은 PD/UEFI 펌웨어를 최신으로 두는 것이다. 이 장비에는 당시 fwupdmgr에 USB-C 관련 업데이트가 대기 중이었고, 재부팅이 필요해서 아직 적용하지 않았다.