Idle PC power consumption
After measuring ~62W at idle for the Ryzen 6 1600
desktop system, it was time to figure out which component is responsible and
how the power consumption could be reduced.
In order to compare the system to some other, the whole system consists of:
SBC-500: 63.2W (62.9W, 63.1W, 63.6W)
So both devices measure a similar, but not equal value.
SBC-500: 98.2W (96.8W, 89.2W, 99.6W)
The used graphic card can not clock down, once more than one monitor is enabled. So consumption is high even when both screens show just the same static 2D clone image. This is a major drawback of this graphic card and is hopefully fixed in a newer generation. The huge differences between the two measurement devices might need another explanation.
SBC-500: 61.4W (61.8W, 60.9W, 61.4W)
This is once again measured with only one monitor. The saving is around 2W on both devices.
gives the result
default performance powersave [powersupersave]
so power saving is already enabled. Setting the value to default or performance, increases the consumption to:
EKM 2000: 62W
SBC-500: 66.8W (66.5W, 66.6W, 67.2W)
Regardless of which device delivers the right values, the power saving method in the kernel already works for us as it saves at least 4W. Measuring will continue with powersupersave
EKM 2000: 56W
SBC-500: 59.6W (59.3W, 59.9W, 59.6W)
So enabling this by default would help saving about 1.5W to 2W.
EKM 2000: 48W
SBC-500: 50.2W (50.1W, 50.9W, 49.7W)
Making sure no application wakes up the CPU obviously is important, even when the wakeups are short and don't consume significant CPU time. Savings: 8W - 9.5W.
EKM 2000: 44W
SBC-500: 47.6W (49.8W, 46W, 47W)
So the USB powered switch, USB Hub, Mice, AVR Programmer, Headset, USB RC-5 Remote, Speakers and Ethernet link take about ~2.6W - ~4W.
SBC-500: 45.6W (45.4W, 46.8W, 44.6W)
The EKM 2000 started to give false readings and therefore was not used further. So all three drives together consume ~2W at idle.
SBC-500: 20.3W (20.3W, 20.3W, 20.3W)
The wakeups have reduced once more and are now at 11 - 30/s. So obviously the graphic card had a main part in the overall power consumption of about 25W even when idle and just one screen connected!
SBC-500: 20.2W (20.1W, 20.6W, 20W)
So maybe this saves some power, but it falls within the error range of the measurement.
SBC-500: 0.34W (0.35W, 0.34W, 0.34W)
Subtracting this from the 20.2W, the Ryzen runs with less than 20W idle!
In order to reach a lower idle power, it is important to select a proper graphic card.
Using 45W in idle for a dual monitor setup displaying a static 2D image is too much!
Second, reduce the CPU wakeup calls and make sure PCIe power link management is enabled.
Spinning down hard drives, enabling SATA power link management and remove unused USB devices helps saving too.
The other power saving settings in powertop seem to save very little and therefore are not required on a desktop PC.
- CPU: AMD Ryzen 6 1600
- Board: Gigabyte GA-AB350M-Gaming 3 with BIOS version F4
- PSU: 400 Watt Seasonic Platinum Fanless SS-400FL2
- RAM: HX426C16FR2/8 (8GB HyperX)
- Graphic: Asus Radeon R7 370 Strix Gaming, 2GB
- Drives:
- Samsung SSD 850 EVO 500GB
- WDC WD40EZRX (4TB Desktop hard disk)
- FUJITSU MHV2100BH PL (100GB Notebook hard disk)
- HL-DT-ST BD-RE (Blu-ray drive)
- Many USB devices
- PS/2 keyboard
- Fan: Only for CPU, slow 800RPM
- OS: Linux Debian Stretch with a 4.13.2 kernel
Power consumption after login
EKM 2000: 60WSBC-500: 63.2W (62.9W, 63.1W, 63.6W)
So both devices measure a similar, but not equal value.
Enabling second monitor
EKM 2000: 82WSBC-500: 98.2W (96.8W, 89.2W, 99.6W)
The used graphic card can not clock down, once more than one monitor is enabled. So consumption is high even when both screens show just the same static 2D clone image. This is a major drawback of this graphic card and is hopefully fixed in a newer generation. The huge differences between the two measurement devices might need another explanation.
Spinning down the 3.5" hard disk
EKM 2000: 58WSBC-500: 61.4W (61.8W, 60.9W, 61.4W)
This is once again measured with only one monitor. The saving is around 2W on both devices.
PCIe power link management
cat /sys/module/pcie_aspm/parameters/policygives the result
default performance powersave [powersupersave]
so power saving is already enabled. Setting the value to default or performance, increases the consumption to:
EKM 2000: 62W
SBC-500: 66.8W (66.5W, 66.6W, 67.2W)
Regardless of which device delivers the right values, the power saving method in the kernel already works for us as it saves at least 4W. Measuring will continue with powersupersave
Enable SATA power link management
By default, SATA power link management is disabled. Enabling can be easily done with powertop. New readings:EKM 2000: 56W
SBC-500: 59.6W (59.3W, 59.9W, 59.6W)
So enabling this by default would help saving about 1.5W to 2W.
Reduce wakeup calls
powertop displays the number of CPU wakeups per second. After login, this value was at 1000...1200 wakeups/s. Closing all applications who are most responsible for the wakeup leaves us with a desktop with just ~57 wakeups/s. New power reading:EKM 2000: 48W
SBC-500: 50.2W (50.1W, 50.9W, 49.7W)
Making sure no application wakes up the CPU obviously is important, even when the wakeups are short and don't consume significant CPU time. Savings: 8W - 9.5W.
Remove USB and LAN
Just leaving the PS/2 keyboard, gives:EKM 2000: 44W
SBC-500: 47.6W (49.8W, 46W, 47W)
So the USB powered switch, USB Hub, Mice, AVR Programmer, Headset, USB RC-5 Remote, Speakers and Ethernet link take about ~2.6W - ~4W.
Disconnecting both hard disks and the Blu-ray drive
Leaving just the SSD:SBC-500: 45.6W (45.4W, 46.8W, 44.6W)
The EKM 2000 started to give false readings and therefore was not used further. So all three drives together consume ~2W at idle.
Removing the graphic card
Adding LAN connection again, and login over ssh:SBC-500: 20.3W (20.3W, 20.3W, 20.3W)
The wakeups have reduced once more and are now at 11 - 30/s. So obviously the graphic card had a main part in the overall power consumption of about 25W even when idle and just one screen connected!
Getting down to the minimum
What's left? Enable all power saving options with powertop, remove the keyboard and logout from ssh.SBC-500: 20.2W (20.1W, 20.6W, 20W)
So maybe this saves some power, but it falls within the error range of the measurement.
The power cord
There is still something left - there is a red light in the extension power cord used. It measures:SBC-500: 0.34W (0.35W, 0.34W, 0.34W)
Subtracting this from the 20.2W, the Ryzen runs with less than 20W idle!
Conclusion
Total idle power | ~63.2W |
Graphic card (one monitor) | ~25.3W |
CPU, Motherboard, Fan, SSD, PSU | ~19.9W |
CPU wakeups | ~9.4W |
Hard disks, Blu-ray | ~3.8W |
USB devices | ~2.6W |
SATA Links | ~1.8W |
Lighting switch in power cord | ~0.34W |