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:
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).
Apart from current info utilities, I suggest you test real actual performance/frequency. Maybe an applet showing current frequency, while running demanding apps.
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...
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.
╭─[email protected] in ~
╰─λ sudo systemctl enable cpupower && sudo systemctl start cpupower
[sudo] password for jing:
╭─[email protected] in ~ took 3s
╰─λ sudo cpupower frequency-set -g performance
Setting cpu: 0
Setting cpu: 1
Setting cpu: 2
Setting cpu: 3
╭─[email protected] 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
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.
[[email protected] 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:
[[email protected] 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
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.