CPU clock differences between distros

Hello, I found something interesting... I just installed Zorin OS to test it out, you know. And I found that my CPU is running at 800 MHz, max 4.1GHz clock on Zorin, but in Garuda it runs at 2.1 GHz, maximum 2.1 GHz. I don't know what happens, or what will it bring to me (higher or lower performance). If anyone have the same situation like me, can you tell me what it going on?
Here is the output of inxi -Fxxxz on Garuda:

CPU:       Info: Dual Core model: Intel Core i3-10110U bits: 64 type: MT MCP arch: Kaby Lake note: check 
rev: C cache: L2: 4 MiB 
flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 20799 
Speed: 2100 MHz min/max: 400/2100 MHz Core speeds (MHz): 1: 2100 2: 2100 3: 2100 4: 2100

I will posting the output of Zorin OS soon.
EDIT: Here is the output from Zorin OS.

CPU:       Topology: Dual Core model: Intel Core i3-10110U bits: 64 type: MT MCP arch: Kaby Lake rev: C L2 cache: 4096 KiB 
           flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 20799 
           Speed: 800 MHz min/max: 400/2100 MHz Core speeds (MHz): 1: 800 2: 800 3: 800 4: 800

I see max 2.1 on both :face_with_monocle:

6 Likes

Check your BIOS. The max is 2100 MHz on both, as zoeruda said, with the only difference that on Garuda there's the performance governor (which gives you the maximum power available on your CPU) while on the other OS there's the ondemand governor (which is better for power consumption but worse for the performance).

If you have the specific values to set for your CPU you can do that manually in your BIOS as well for other things (for example RAM frequency/latency).

4 Likes

Hmm. Does your CPU actually support 4.1GHz or is something else in Zorin misreporting that value?

According to Intel Core i310110U Processor 4M Cache up to 4.10 GHz Product Specifications the CPU will turbo up to 4.1Ghz. Therefore - what are you using to trigger that boost, and to measure it?

Is it because the performance governor is keeping all cores running at 2.1Ghz so the CPU won’t boost a single core to 4.1Ghz?

6 Likes

I was wondering why my CPU will not turbo boost.

Apart from current info utilities, I suggest you test real actual performance/frequency. Maybe an applet showing current frequency, while running demanding apps.

1 Like

Garuda Assistant > Performance Tweaks checked (and nothing else)

Info: 6-Core model: Intel Core i5-9400 bits: 64 type: MCP arch: Kaby Lake note: check rev: D  
cache: L2: 9 MiB  
flags: avx avx2 lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx bogomips: 34798  
Speed: 4073 MHz min/max: 800/4100 MHz Core speeds (MHz): 1: 4073 2: 4000 3: 4092 4: 4001  
5: 4000 6: 3999
1 Like

Yeah... I checked the intel website, and it did said that my cpu can be turbo up to 4.1GHz. And I try to use cpupower-gui to tweak the cpu clock frequency, and then I found that I did could make it run at 4.1GHz. And here comes the strange thing:

According to @Bro 's post (it is just above), his i5-9400 will be run at 4.1GHz, which is the maximum frequency his cpu has, just with Garuda's Performance Tweak. I installed that too (I believe it is automatically installed), my CPU is running at 2.1 GHz max, which is governor powersave. I believe that this performance tweak will set it to performance governor, but it isn't...

1 Like

I reinstalled performance-tweaks again, now in inxi -Fxxxz's output it gives me maximum clock of 4.1GHz. But there is a cap of 2.1GHz, and cpupower frequency-info gives me that the governor that is in use is powersave instead of performance.

Since you’re using cpuppower, then lets make sure, and do…

sudo systemctl enable cpupower && sudo systemctl start cpupower
sudo cpupower frequency-set -g performance
1 Like
╭─jing@Jinglebell in ~ 
╰─λ sudo systemctl enable cpupower && sudo systemctl start cpupower
[sudo] password for jing:          

╭─jing@Jinglebell in ~ took 3s
╰─λ sudo cpupower frequency-set -g performance
Setting cpu: 0
Setting cpu: 1
Setting cpu: 2
Setting cpu: 3

╭─jing@Jinglebell in ~ took 29ms
╰─λ sudo cpupower frequency-info
analyzing CPU 0:
driver: intel_pstate
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: 400 MHz - 4.10 GHz
available cpufreq governors: performance powersave
current policy: frequency should be within 400 MHz and 4.10 GHz.
The governor "performance" may decide which speed to use
within this range.
current CPU frequency: Unable to call hardware
current CPU frequency: 1.95 GHz (asserted by call to kernel)
boost state support:
Supported: yes
Active: yes

Though after reboot, the output of cpupower frequency-info will be:

After reboot:
analyzing CPU 0:
driver: intel_pstate
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: 400 MHz - 4.10 GHz
available cpufreq governors: performance powersave
current policy: frequency should be within 400 MHz and 2.10 GHz.
The governor "powersave" may decide which speed to use
within this range.
current CPU frequency: Unable to call hardware
current CPU frequency: 1.95 GHz (asserted by call to kernel)
boost state support:
Supported: yes
Active: yes

And if you run a different kernel?

1 Like

No... It will run at 4.1GHz if I run sudo cpupower frequency-set -g performance after login, but I want it to automatically run at max speed when boot.

That shouldn’t be necessary if you enabled and started the service in systemd…unless some of your other settings are offloading it.

1 Like

Alright, now I met a new problem.

[root@Jinglebell Jing]# cpupower frequency-info
analyzing CPU 0:
driver: intel_pstate
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: 400 MHz - 2.10 GHz
available cpufreq governors: performance powersave
current policy: frequency should be within 400 MHz and 2.10 GHz.
The governor "performance" may decide which speed to use
within this range.
current CPU frequency: Unable to call hardware
current CPU frequency: 2.03 GHz (asserted by call to kernel)
boost state support:
Supported: yes
Active: yes

Now it says my CPU has a limit of 2.1 GHz.

Here comes the strange thing:
After I run cpupower frequency-set -u 4.1GHz:

[root@Jinglebell Jing]# cpupower frequency-info
analyzing CPU 0:
driver: intel_pstate
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: 400 MHz - 2.10 GHz
available cpufreq governors: performance powersave
current policy: frequency should be within 400 MHz and 4.10 GHz.
The governor "performance" may decide which speed to use
within this range.
current CPU frequency: Unable to call hardware
current CPU frequency: 3.21 GHz (asserted by call to kernel)
boost state support:
Supported: yes
Active: yes

You should check BIOS for relevant settings.
It could be that BIOS changes settings, if configured.

Actually I found that I can break the limit it says with cpupower frequency-set -u xGHz, and it did run at the speed that is higher that 2.1Ghz.

EDIT: I checked my BIOS, and the Intel Hyperthread Technology is enabled.

According to ArchWiki:

Some CPU/BIOS configurations may have difficulties to scale to the maximum frequency or scale to higher frequencies at all. This is most likely caused by BIOS events telling the OS to limit the frequency resulting in /sys/devices/system/cpu/cpu0/cpufreq/bios_limit set to a lower value.

After I checked my /sys/devices/system/cpu/cpu0/cpufreq/ directory, there are no file called bios_limit. So I am sure that it is not the problem of BIOS.

I found that the systemctl service cpupower.service is actually not working. I run systemctl start cpupower.service after I get the output of max 2.1GHz from cpupower frequency-info, according to ArchWiki it would read the configure file in /etc/default/cpupower. So I edited the file and set the max frequency to 4.1 GHz, and run systemctl start cpupower.service, then cpupower frequency-info. It gives me still 2.1GHz max.

Is your BIOS limiting clocks speeds (SpeedStep, et al)? Otherwise, I tend to think your CPU is limited to the 800/2100-range.

1 Like

https://wiki.archlinux.org/title/CPU_frequency_scaling#cpupower

2 Likes