Power Management¶
Zion runs continuously, but most of the time it is lightly loaded. The goal is therefore simple: reduce idle power draw without suspending the host or making storage, networking, and guests unreliable.
What is optimized¶
- CPU and package idle states; CPU frequency policy and Energy-Performance Preference (EPP);
- PCIe, DMI and chipset link power management;
- unused onboard devices;
- standby behaviour of the mechanical data disk;
- Linux power-saving tunables applied after boot.
Integrated graphics stays enabled for emergency console access and Intel Quick Sync. Zion itself is not suspended automatically.
Warning
This configuration was tested on Gigabyte Z370 HD3 with an Intel Core i5-8400. The same settings may behave differently on another board, controller, or kernel.
UEFI settings¶
CPU¶
| Setting | Value |
|---|---|
| Intel CPU C-States Control | Enabled |
| Package C-State Limit | C10 |
| Intel Speed Shift Technology | Enabled |
| Enhanced Halt State (C1E) | Enabled |
| C3, C6/C7, C8 and C10 support | Enabled |
| Enhanced Intel SpeedStep (EIST) | Enabled |
| Race to Halt | Enabled |
| Energy Efficient Turbo | Enabled |
| Voltage Optimization | Enabled |
Prefetchers and ring-to-core offset settings remain on Auto. There was no workload-specific reason to change them.
Chipset and PCIe¶
| Setting | Value |
|---|---|
| PEG ASPM | Enabled |
| PCH ASPM | Enabled |
| DMI ASPM | Enabled |
| CEC 2019 Ready | Enabled |
| RC6 / Render Standby | Enabled |
| Power Loading | Auto |
ASPM allows idle PCIe and chipset links to enter lower-power states. RC6 does the same for the integrated GPU when it is not processing video or driving a console.
Onboard devices¶
| Device or feature | Value |
|---|---|
| SATA Aggressive Link Power Management | Enabled |
| Serial port | Disabled |
| Parallel port | Disabled |
| Onboard audio | Disabled |
| Integrated graphics | Enabled |
Only confirmed unused devices are disabled.
ErP and Wake-on-LAN¶
ErP: Enabled reduces soft-off power consumption below the normal standby level, but disables Wake-on-LAN on this platform.
Zion is expected to remain online, so ErP is enabled. If remote Wake-on-LAN for Zion becomes necessary, ErP must be disabled and WoL tested again after a complete shutdown.
This does not affect Wake-on-LAN for the separate K3s nodes.
HDD spindown¶
The IronWolf disk stores backups and bulk data such as the media library. When no job or application is using it, stopping the platters saves several watts and allows the platform to reach deeper package states.
Persistent configuration should use the disk's /dev/disk/by-id/ path. Do not copy /dev/sdX names into configuration because they can change after a reboot.
Check the current state:
Request standby during a controlled test:
Set a ten-minute idle timeout:
The disk wakes automatically on I/O. Backup jobs, SMART tests, media scans and filesystem activity can wake it as well.
Note
hdparm -S issued from the shell is not persistent. After adding the setting to the system configuration, verify it again after reboot.
Frequent spin-up and spin-down cycles defeat the purpose and add latency. If the disk wakes repeatedly during normal operation, increase the timeout or leave it running during active hours.
PowerTOP at boot¶
The tested PowerTOP tunables are reapplied by /etc/systemd/system/powertop.service:
[Unit]
Description=PowerTOP auto-tune and CPU power profile
[Service]
Type=oneshot
ExecStart=/usr/sbin/powertop --auto-tune
ExecStartPost=/bin/sh -ec 'for policy in /sys/devices/system/cpu/cpufreq/policy*; do echo powersave > "$$policy/scaling_governor"; echo balance_performance > "$$policy/energy_performance_preference"; done'
RemainAfterExit=true
[Install]
WantedBy=multi-user.target
Validate and enable the unit:
sudo systemd-analyze verify /etc/systemd/system/powertop.service
sudo systemctl daemon-reload
sudo systemctl enable --now powertop.service
sudo systemctl status powertop.service --no-pager
powertop --auto-tune changes several device policies at once. After a kernel update or hardware change, check the network interfaces, storage, USB devices and running guests. If one device becomes unstable, replace the blanket auto-tune with explicit settings for the tunables already verified as safe.
Validation¶
After changing the configuration, check:
- CPU package C-state residency during a representative idle period;
- network links and access to every VM and LXC;
- NVMe and HDD access;
- VM and container startup and shutdown;
- backup execution and datastore availability;
- HDD start/stop frequency;
- failed systemd units;
- reboot and recovery after power loss.
Useful read-only commands:
sudo powertop
sudo systemctl --failed --no-legend --plain --no-pager
sudo journalctl -b -u powertop.service --no-pager
sudo smartctl -a /dev/disk/by-id/<IRONWOLF_DISK>
Measured result¶
During the original tuning session:
- CPU package idle states changed from no reported residency to regular
pc2andpc3residency; - CPU
C0 activetime at idle fell from about 11% to about 3%; - idle draw of the motherboard and CPU platform fell by about 5.5 W, roughly 25% of that part of the baseline.
These figures describe one hardware and workload state. Measure again after adding PCIe devices, enabling passthrough, changing disks or moving substantial workloads between guests.
Wall power¶
Complete-system power was also measured at the wall:
| System state | Measured draw |
|---|---|
| Zion idle, with the IronWolf HDD spinning | 22โ24 W |
| Zion under heavier workloads | 40โ60 W |
| Dell Wyse 5070 idle, with two 2.5-inch drives | 11โ12 W |
Moving from the Dell Wyse 5070 to Zion roughly doubled idle consumption. In return, Zion provides a six-core CPU, NVMe storage, substantially more memory, hardware expansion and enough capacity to separate workloads into VMs and LXC containers. An idle draw of 24โ25 W is a reasonable trade-off for that increase in capability.
Operating rules¶
- Stability and data integrity take priority over the lowest possible idle draw.
- Backup windows take priority over HDD spindown.
- UEFI changes are applied and tested in small groups.
- ErP is reviewed whenever Wake-on-LAN requirements change.
- PowerTOP is revalidated after kernel and hardware changes.
- Measurements are compared with the same guests and storage state.