How to fix ‘underclocking’ Ryzen (5600x) Processors in OpenVZ 7 / CentOS 7 / OpenVZ 8

Question

My CPU is reporting underclocked eg. 2200Mhz while the actual CPU frequency is much higher (eg 3700Mhz for Ryzen 5600x)

Resolution

This issue appears because by default OpenVZ 7 / CentOS 7 uses a conservative approach to save your power. This approach is implemented using a tool called ‘CPUFREQ’. In OpenVZ 7, you can access this using the command ‘cpupower’.

CPUFreq comes with a set of profiles. There are profiles like ‘conservative’ or ‘ondemand’ which saves power for you by underclocking your CPU, while there is other profile, like ‘performance’ that gives the full power of your CPU.

By default, cpufreq uses ‘conservative’ or ‘ondemand’ profile, which is why you usually see the clock is under the maximum power you have.

To see the available governors or profile you have on your system, you may use the following:

cpupower frequency-info --governors

To see the cpufreq settings, you may see them from:

/sys/devices/system/cpu/[cpuid]/cpufreq/.

Replace cpuid with the CPU number.

Now, to change the underclocking of your CPU to the regular CPU clock, you may use the following command to set the governors to performance:

cpupower frequency-set --governor performance

This shall put your CPU back to 3700Mhz.