My current home server, a Raspberry Pi4 with 4GiB RAM is running out of memory and i wondered whether i could convert my existing desktop PC into a home server. The Pi4 with a SSD connected over USB consumes only 7.1W at idle and 9.9W at load. Before i replace the Pi with the desktop, i wanted to check if it could achieve low power consumption at idle.

Desktop specs

  • AMD Ryzen 2600
  • 32GiB RAM
  • PRIME X470-PRO
  • RX 7700 XT
  • Super flower LEADEX III GOLD 850W SF-850F15HG
  • AX200 WiFi
  • 2 SATA SSDs, 1 HDD, 1 NVMe disk

Power measurement was done using a cheap power meter at the power plug. The PC was measured to be idling at 65W.

Power reduction steps

LEDS

Turning off the RGB LEDs saved 7.6 watts

LED Power saving (W)
Case fans 5
GPU 1.8
Motherboard 0.8

Since the Motherboard does not have an ARGB LED controller, the case fan LEDS are being driven by a Blue Pill board running USB CDC stack(so that the colours can be controlled from Linux). This board along with the large number of LEDS on the two fans explains the 5 Watts.

USB gadgets

After unplugging all the USB gadgets, including keyboard, mouse, speakers and a lamp, the power consumption is reduced by 2.2 Watts.

Fans

Turning off most of the fans and reducing the CPU fan speed to the lowest value possible saves 1.8W.

Reducing RAM clock

There are three RAM sticks, two of 8GiB and one of 16GiB. RAM was set to run at 3200 MHz, by reducing it down to 2133 MHz and a lower voltage, we can save 4.3W.

CPU Undervolt

CPU undervolt makes no difference in idle power, but under load(stress -c 12), an undervolt of 50mV saves 10W.

PCI ASPM

Enabling ASPM L1 saves 8W but reduces NVMe disk read performance from 1.33 GiB/s to 1.28 GiB/s. It also causes the kernel to complain about PCIe correctable errors.

PCIe syslog error

powertop auto tune

Running powertop --auto-tune saves 1.6 W.

GPU

The GPU is set to low power mode by running.

echo low > /sys/class/drm/card0/device/power_dpm_force_performance_level

after which nvtop reports an idle power of 7W, down from 20W in auto mode. Disconnecting the HDMI cable saves another 2 Watts.

Final result

After completing the above steps, idle power reduced down to 40W from the initial 65W. However this remains relatively high for a home server that is supposed to be idle most of the time, especially compared to the approximate 10W seen in mini PCs.