DGX Spark: 1800 MHz GPU cap cuts two nodes' power draw from 330 W to 242–252 W
DGX Spark is NVIDIA's mini-computer for neural networks. By default its GPU runs at megahertz it doesn't need, because speed is limited by memory. With an 1800 MHz cap, two linked boxes draw 242–252 W instead of 330 W, and tokens per second stay the same. It's like driving 110 instead of 140 km/h: you burn less fuel and arrive at the same time. Set the frequency caps before overnight runs.
AI-processed from Habr AI; edited by Hamidun News
DGX Spark is NVIDIA's compact AI computer built on the GB10 chip with 128 GB of unified memory. Many people buy it to run large language models at home or in a small team. The problem is that out of the box it draws more power than it needs, runs hot, and, for some owners, shuts off unexpectedly at night.
The author of a Habr write-up spent half a year experimenting and found that text generation speed is limited by memory bandwidth, not GPU frequency. So if you cap the GPU at 1800 MHz, two linked boxes draw 242–252 W instead of 330 W, and the number of tokens per second does not change. Put figuratively, it's like driving on the highway at 110 km/h instead of 140: you burn less fuel and reach your destination at the same time.
Below is the full recipe, which the author says works for any inference engine and any number of nodes.
Strip out the extras without breaking the system
The author credits Chinese models — DeepSeek, Qwen, GLM and Kimi — for making this small box genuinely useful. The first setup step is to switch the Spark to headless mode with sudo systemctl set-default multi-user.target, so the graphical shell doesn't start. Next, you disable unneeded services: bluetooth, cups, cups-browsed, avahi-daemon, ModemManager, apport, dgx-dashboard, dgx-dashboard-admin, multipathd, rsyslog. The services snapd, packagekit, nvidia-dgx-telemetry, nvidia-dgx-sol and udisks2 have to be masked (mask): udisks2 wakes up via D-Bus, and a plain disable doesn't keep it down. PipeWire is silenced with systemctl --user mask on both the services and their sockets.
There are two traps. First, OTA firmware updates quietly re-enable some of the disabled services, so re-check the list after every update. Second, don't remove the desktop with apt purge --auto-remove: the nvidia-system-station-core package is hard-linked to ubuntu-desktop. In a dry run, the system offered to remove 1078 packages, including the fstab configs, the serial console and GRUB. With multi-user.target the desktop doesn't load anyway, so it's better to leave it alone and remove unneeded programs such as the office suite and solitaire games individually, without the auto-remove flag.
GPU and CPU frequencies: megahertz that only heat the room
Decode is memory-bound, so anything above 1800 MHz on the GPU only warms the air. Dropping much lower isn't advisable either: prefill, the processing of the input prompt, will slow down. The author considers 1800 MHz the optimum: two nodes draw 242–252 W instead of 330 W with no loss in tokens per second.
The CPU story is similar. Inference engines keep 2–3 threads on the fast Cortex-X925 P-cores in an active wait loop (spin-wait): instead of sleeping, the core constantly polls the GPU. Capping the P-cores at 3000 MHz preserves throughput, cuts power consumption by 8–12%, and cools the hottest zone by 17–18 °C. Don't go below 2808 MHz, the maximum of the A725 E-cores: the scheduler will start moving loaded threads to the slow cores, and performance will drop.
Both limits are set up as systemd units of type oneshot. The GPU unit calls nvidia-smi -pm 1 and nvidia-smi -lgc 0,1800 (the value is read from /etc/default/gpu-clock-cap), and removes the limit with -rgc when stopped. The CPU unit uses cpupower to set a 3000 MHz maximum on cores 5-9 and 15-19, and restores 3900 MHz when stopped.
Memory: 1.5 GiB for free and the catch with 64K pages
Starting with OTA firmware 2610+, the display memory in UEFI can be configured directly from the operating system. Instead of the default 2 GB, you can set Auto mode, which is 512 MiB in headless mode, and the freed 1.5 GiB goes back to the system.
A kernel with 64K pages is supposed to save memory: Linux's overhead for its own structures drops from ~2 GB to ~128 MB. But the NVIDIA UVM driver takes a whole 64 KB page for each tiny 256-byte GPU page table, which wastes about 3.25 GB. The memory-saver patch packs these tables together and yields +1.8 GiB compared with a regular kernel with 4K pages. The catch: it is incompatible with Secure Boot. For that reason, the author does not yet recommend switching to a ready-made kernel such as nvidia-64k.
Idle power and the narrow memory bus
A single Spark with a model loaded and the ConnectX-7 network link up draws about 50 W at idle, and roughly 20 W of that goes to the network card itself. ASPM is disabled in the firmware, there is no power saving for 200G, and Wake-on-LAN is not implemented. For comparison, a Mac Studio in sleep mode uses about 10 W. The only working solution is to shut the Spark down with poweroff and turn it on through a smart plug.
The author names the memory bus as the platform's main limitation: the GB10 has a 256-bit bus with 273 GB/s of bandwidth. The Mac Studio M3 Ultra has 819 GB/s, the RTX 5090 about 1.8 TB/s, and Strix Halo 256 GB/s. As a result, decode for an MoE model with 10B active weights in FP4 holds at around 50 tokens/s, and owners link several boxes over ConnectX-7 (TP2 or TP3) to add up their bandwidth. The theory that the bus was cut deliberately so the Spark wouldn't take sales from the DGX Station and RTX Pro is the author's opinion, not a confirmed fact. The power figures were measured on the author's configuration and may differ on others.
The practical takeaway: if a Spark sits at home or in a small office, headless mode, GPU and CPU frequency caps and remote power control save a noticeable number of watts without losing speed.
- Nov 6, 2026AI Agent Reply Costs Vary 100x: From 0.94 ₽ to 121.57 ₽ per Message
- Nov 6, 2026One bot for Telegram and MAX: ads brought in 416 people at 17 ₽ each
- Nov 6, 2026Tencent releases Hy4: AI that operates a PC, but fabricates answers to 89% of unfamiliar questions without search
- Nov 6, 2026Together AI agents speed up open LLMs by up to 2.6x in tokens per second within a day
Key Questions Answered
What are the key details on Strip out the extras without breaking the system?
The author credits Chinese models — DeepSeek, Qwen, GLM and Kimi — for making this small box genuinely useful. The first setup step is to switch the Spark to headless mode with sudo systemctl set-default multi-user.target, so the graphical shell doesn't start. Next, you disable unneeded services: bluetooth, cups, cups-browsed, avahi-daemon, ModemManager, apport, dgx-dashboard, dgx-dashboard-admin, multipathd, rsyslog.
What are the key details on GPU and CPU frequencies: megahertz that only heat the room?
Decode is memory-bound, so anything above 1800 MHz on the GPU only warms the air. Dropping much lower isn't advisable either: prefill, the processing of the input prompt, will slow down. The author considers 1800 MHz the optimum: two nodes draw 242–252 W instead of 330 W with no loss in tokens per second. The CPU story is similar. Inference engines keep 2–3 threads on the fast Cortex-X925 P-cores in an active wait loop (spin-wait): instead of sleeping, the core constantly polls the GPU.
What are the key details on Memory: 1.5 GiB for free and the catch with 64K pages?
Starting with OTA firmware 2610+, the display memory in UEFI can be configured directly from the operating system. Instead of the default 2 GB, you can set Auto mode, which is 512 MiB in headless mode, and the freed 1.5 GiB goes back to the system. A kernel with 64K pages is supposed to save memory: Linux's overhead for its own structures drops from ~2 GB to ~128 MB. But the NVIDIA UVM driver takes a whole 64 KB page for each tiny 256-byte GPU page table, which wastes about 3.25 GB.
Test Frontier LLMs & Autonomous Agents in One Workspace
Run Claude Opus 5.5, GPT-6, Gemini 3.1, and DeepSeek side-by-side in Nomad AI (nomadnet.ai) — unified model routing, deep research, and multimodal workflows under one subscription.
The AI world, distilled — once a week
Seven stories that actually mattered, hand-picked. No noise, no reposts, no press releases.
Done! Check your inbox for a confirmation.