Ryzen in Linux: Power Managment Tool?

I have a Ryzen 3900XT and I’m using Fedora 34 with GNOME currently on a B550 motherboard. I can provide more information if needed.

I wonder if anyone uses a tool either through GNOME or another tool to help with power management of the CPU. Currently it seems all the cores stay at the minimum 3.8GHz or 4.2GHz. It sits at 38C idle (using a dual 240mm radiators and waterblock).

I just wonder if any other Ryzen users have a tool they use to minimize or rather optimize usage with Linux. As long as I have access to a .deb package I should be able to install it. I just thought I’d ask to see if anyone had experience because Ryzen doesn’t make a tool or drivers for Linux. For a comparison I usually get a 34C idle in windows on the ryzen balanced plan.

It’s fine, I just wondered if there is a Low power option for me that wont limit performance, but allow idle to lower draw.

Happy to run any diagnostics and post results if directions are given.

Thank you all for any input in advance.

I just had a thought, maybe I should make a change in Bios? (MSI mobo)

PS- I tried to search the L1 forum, but if I worded it wrong or diffrently and missed something I am sorry.

[jrhaa@fedora ~]$ cpupower idle-info
CPUidle driver: acpi_idle
CPUidle governor: menu
analyzing CPU 0:

Number of idle states: 3
Available idle states: POLL C1 C2
POLL:
Flags/Description: CPUIDLE CORE POLL IDLE
Latency: 0
Usage: 957
Duration: 22462
C1:
Flags/Description: ACPI FFH MWAIT 0x0
Latency: 1
Usage: 37473
Duration: 4172538
C2:
Flags/Description: ACPI IOPORT 0x414
Latency: 18
Usage: 458879
Duration: 11086920466

https://docs.fedoraproject.org/en-US/Fedora/18/html-single/Power_Management_Guide/index.html#C-States

jrhaa@fedora ~]$ cpupower frequency-info --governors
analyzing CPU 0:
  available cpufreq governors: conservative ondemand userspace powersave performance schedutil
[jrhaa@fedora ~]$ cpupower frequency-set --governor ondemand
Subcommand frequency-set needs root privileges
[jrhaa@fedora ~]$ sudo cpupower frequency-set --governor ondemand
[sudo] password for jrhaa: 
Setting cpu: 0
Setting cpu: 1
Setting cpu: 2
Setting cpu: 3
Setting cpu: 4
Setting cpu: 5
Setting cpu: 6
Setting cpu: 7
Setting cpu: 8
Setting cpu: 9
Setting cpu: 10
Setting cpu: 11
Setting cpu: 12
Setting cpu: 13
Setting cpu: 14
Setting cpu: 15
Setting cpu: 16
Setting cpu: 17
Setting cpu: 18
Setting cpu: 19
Setting cpu: 20
Setting cpu: 21
Setting cpu: 22
Setting cpu: 23
[jrhaa@fedora ~]$

Here I tried to see changes…
[jrhaa@fedora ~]$ cpupower frequency-info
analyzing CPU 0:
driver: acpi-cpufreq
CPUs which run at the same hardware frequency: 0
CPUs which need to have their frequency coordinated by software: 0
maximum transition latency: Cannot determine or is not supported.
hardware limits: 2.20 GHz - 4.78 GHz
available frequency steps: 3.80 GHz, 2.80 GHz, 2.20 GHz
available cpufreq governors: conservative ondemand userspace powersave performance schedutil
current policy: frequency should be within 2.20 GHz and 3.80 GHz.
The governor “ondemand” may decide which speed to use
within this range.
current CPU frequency: Unable to call hardware
current CPU frequency: 1.89 GHz (asserted by call to kernel)
boost state support:
Supported: yes
Active: no
[jrhaa@fedora ~]$ cpupower frequency-info --hwfreq
analyzing CPU 0:
current CPU frequency: Unable to call hardware
[jrhaa@fedora ~]$ sudo cpupower frequency-info --hwfreq
analyzing CPU 0:
current CPU frequency: 2200000 (asserted by call to hardware)
[jrhaa@fedora ~]$

These commands and governer settings has a GUI for fedora on GNOME website…
https://extensions.gnome.org/extension/1082/cpufreq/

This may be a option if not a super easy one for me.

I have found, on Ryzen 3600 with the cpufreq extension you link (which I’ve been using for some time) - it does report frequency to be ramping more or less as I’d expect, given work load and also core to core, minimums down below 2GHz, if it’s not in your experience, it’s not only being 3x00 series Ryzen at cause.

It allows for selecting the preferred Power Profile, or Governor - given the previously clicked page in my search results, I’d guess I referred to this linked article initially, for some basis on which to select the best governor in my uses.

https://www.phoronix.com/scan.php?page=article&item=amd-ryzen-cpufreq&num=1

I’d link also to GitHub - AdnanHodzic/auto-cpufreq: Automatic CPU speed & power optimizer for Linux - which ‘is’ a laptop tool (where I use this) but could be regarded applicable, and is arguably more fire and forget, once installed.

1 Like

Thank you for this. I know there has to be a way to regulate the lowest possible freq… I’m just exploring options. I really appreciate the input and I will see how that works. I know my temps are completely fine… I have a Corsair Commander pro thats already programed to run optimized for the systems fans and pump speeds.

1 Like

Bump.
My issue for Linux and why recently I have gone back to windows is power management of zen2 and zen3 CPU’s. They seem to draw more voltage in popos or fedora vs windows. So I would like to know if there is a more convenient way of setting a power profile like in windows.

1 Like

Ryzen_monitor
I’ve previously used the previous posters linked zenpower kernel driver with zenmonitor, and get different results from ryzen_monitor. Zenmonitor/zenpower seem to have much older repositories. Ryzen_monitor seems to report sleeping cores much better. Some apps have problems where when a core goes to sleep, it fails to report that the speed is any different. Temperatures are also reported differently by each and are more favorable from ryzen_monitor, by about 10C.

I just installed ryzen_monitor, and you may need to do some terminal kung-fu to be able to see what you need, but I was surprised at the detail it provided me about power usage. At basically desktop idle, with frankly a ton of shit going- torrents, an idle VM, discord, many browser tabs, an rsync, badblocks, and more going it says my socket power is < 40W and thermal output 50W. With a hard cpu benchmark running I’m at 160W thermal and 140W socket power. My idle temps are a smidge under 40C. I have an XSPC RX360 rad, and Rasa cpu acetal waterblock, for an i5-2500k. My max temps are about 70C.

If you actually want to save power, it might make sense to chuck a 240 rad and the associated fans. Your pump doesn’t need to work as hard, and you save two fans worth of power. The wattages I quoted above, I might reconsider, socket power I think is the sum of everything including RAM. I’m seeing <10W core power at idle. At your Delta-T 38-34=4C, I’d expect that to equate to 30-40% or less difference in idle power. Which is about 3-4 W. A mobo fan header is limited to 1A I think, at max your fans could pull 12W. I think a more typical value might be 1-5W.

It’d probably be easier to start cutting RGB/LED cables to save power :smiley:

Yes, ryzen master is really cool. When I built my system I booted into windows and used it and Clock tuner for ryzen. I ran overclocking memory tests. Once I did all that, I took the CTR settings, plugged them into my BIOS, run XMP on my ram, installed an arguably more secure OS, and run windows in VM’s if I need it.

And remember, an idle core at higher voltage is not using much current so that is safe and efficient. Also, ramping load up will naturally cause voltage to drop in a well-designed feedback system. So saying with linux, ryzen cpu’s “draw more voltage” doesn’t tell enough of a story for any conclusion to be drawn.

Windows is an untrustable operating system and windows update can be a backdoor trojan.

This topic was automatically closed 273 days after the last reply. New replies are no longer allowed.