[SOLVED] Ryzen 3600 stuck at 3.6GHz (Base CLK) - CPUFreq can't be adjusted!

Zackey_TNT

Member
Aug 24, 2019
12
2
23
24
New Zealand
Hi,

My Proxmox version 7.2 install is stuck doing 3.6GHz at all times but I cannot adjust my CPU freq governor as suggested here. This is because all the commands editing the various directories/files (which I think are actually "devices") just results in no such directory/file found.

Using the command "cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor" results in no such directory/file found as seen here:
1661326347530.png
Now, I'm not really concerned about it sitting at a fixed frequency. What I am really concerned about is that my CPU appears to not be boosting at all. Note this is from the host, not the VM, so it is not boosting on the HOST side. I know the VMs won't ever show a boost clock.
This is resulting in less then ideal performance in my Windows VM.

I would like to:
A. Figure out why my Proxmox instance appears to be missing configuration items from others. This Governor not existing is rather concerning.
B. Establish if Proxmox can utilise boost with Ryzen by itself, or if it requires manual intervention (BIOS/manual overclock etc)

I welcome any advice or help on this.

Kindest,
Zack.
 
If enabled in the motherboard BIOS (and not explicitly disabled with kernel parameters by yourself) Proxmox (like any other Linux) should just boost automatically (unless the CPU is at its temperature or power limit).
What is the output of cat /sys/devices/system/cpu/cpu0/cpufreq/cpb? cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor shows performance for me (Ryzen 2700X and 5950X). Why is it not present on your installation? Did you update to the latest version and/or make changes to the default setup? Or disable (or not enabled) some BIOS options?
 
If enabled in the motherboard BIOS (and not explicitly disabled with kernel parameters by yourself) Proxmox (like any other Linux) should just boost automatically (unless the CPU is at its temperature or power limit).
What is the output of cat /sys/devices/system/cpu/cpu0/cpufreq/cpb? cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor shows performance for me (Ryzen 2700X and 5950X). Why is it not present on your installation? Did you update to the latest version and/or make changes to the default setup? Or disable (or not enabled) some BIOS options?
The output of both cat's you posted is simply, no such file or directory.
Here is an output, including my grub file.

I have not made any (I think) related changes. I have followed the Wiki's PCIe passthrough guide for GPUs, but that is all the editing I have done on the base host.

I have updated to the latest version available for proxmox 7.2, but I have not disabled any bios options relating to boost. PBO has been set to enabled however.

1661370269328.png
 
I can reproduce this on a KVM VPS (Intel IvyBridge era) where I installed Proxmox on top of Debian. Did you install Proxmox on top of Debian (and what is the output of uname -a? Are you running Proxmox inside another virtualization system?
 
I can reproduce this on a KVM VPS (Intel IvyBridge era) where I installed Proxmox on top of Debian. Did you install Proxmox on top of Debian (and what is the output of uname -a? Are you running Proxmox inside another virtualization system?
Hi,

This is a bare metal install with proxmox iso download from their website. No nested virtualization or custom build steps. I will get you that output later this evening as I am away.
 
No rush on my end and I have do not a clue why this would happen (unless you're running an Intel CPU and its P-state driver instead or not bare metal or disabled it in the BIOS).
 
After installing CPU Power package and using the frequency info, more details are present.
I've double checked the bios settings and boost is enabled, but yet my system seems FUBAR on all accounts..
1661500769056.png
 
Only some loose thoughts, but I would investigate first, why the CPU is not recognized properly and therefore can not be correctly managed by the system and driver.
  • What is the output in code-tags of: lscpu?
  • Is your bios/UEFI up-to-date?
  • What is your exact mainboard model?
 
Only some loose thoughts, but I would investigate first, why the CPU is not recognized properly and therefore can not be correctly managed by the system and driver.
  • What is the output in code-tags of: lscpu?
  • Is your bios/UEFI up-to-date?
  • What is your exact mainboard model?
BIOS/UEFI is up to date.
My Motherboard is an ASUS ROG x470 Strix

1661505563316.png
 
I would google for possible reasons, why on linux: "no or unknown cpufreq driver is active on this CPU".

Do you get any output from?:
Bash:
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_driver

You could try a Live-Linux-ISO and see, if you get an output from the above or if these directories do not exist there too.
 
I have found the problem.
xapic2 is disabling this functionality.
Unfortunately it's also needed for GPU pass-through, so I'm pretty boned.
So you did make changes to the system. Thank you for reporting back on this and solving the mystery,
Can you tell me more about why you need x2apic for GPU passthrough? Where or how did you disable it? I have not seen this before and maybe their is another work-around.
 
So you did make changes to the system. Thank you for reporting back on this and solving the mystery,
Can you tell me more about why you need x2apic for GPU passthrough? Where or how did you disable it? I have not seen this before and maybe their is another work-around.
Hey,

xAPIC2 was needed for XCP-NG passthrough support, but not needed for proxmox!
Disabling it has resulted in this being completely fixed.

It's interesting though, xAPIC1 works fine, as does "Auto"
 
  • Like
Reactions: datschlatscher
I have found the problem.
xapic2 is disabling this functionality.
Unfortunately it's also needed for GPU pass-through, so I'm pretty boned.
A similar issue happened to me as well -- the Ryzen 7 5750G was stuck at around 4 GHz and cpufreq failed to initialize after a motherboard BIOS upgrade (new AGESA, security fixes). Before that I used amd_pstate driver in shared memory mode, with cpufreq not working it couldn't initialize. I tried to patch my kernel to fix that (e.g. fix AMD PState supported CPU detection) but it didn't work still. After seeing this message I switched IOAPIC mode to Auto in BIOS and now amd_pstate works again. What's funny the kernel still reports it uses X2APIC and PCIe passthrough works like a charm.
Code:
Aug 27 15:48:11 host kernel: pci 0000:00:00.2: AMD-Vi: Found IOMMU cap 0x40
Aug 27 15:48:11 host kernel: AMD-Vi: Extended features (0x206d73ef22254ade): PPR X2APIC NX GT IA GA PC GA_vAPIC
Aug 27 15:48:11 host kernel: AMD-Vi: Interrupt remapping enabled
Aug 27 15:48:11 host kernel: AMD-Vi: Virtual APIC enabled
Aug 27 15:48:11 host kernel: AMD-Vi: X2APIC enabled
 
  • Like
Reactions: datschlatscher
Please the mark the thread as Solved, this makes it more likely for others having similar problems to find this solution, thank you!
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!