Since I mostly use my laptop as a desktop, I'm trying to set its CPU to its maximum frequency.
The CPU is an Intel Core i5-3337U (dual-core with Hyper-Threading), which caps at 2.5GHz (with 2 active cores) and at 2.70GHz (with 1 active core) using the Intel Turbo Boost Technology.
Before starting, I tested which frequency the CPU could reach under load using LINPACK, to see if despite any active power-saving feature it could have reached the nominal maximum value of 2.5GHz; it could (measured running watch -n 1 "cat /proc/cpuinfo | grep \"cpu MHz\""
).
I chose to use the cpufreq-set
approach: I've installed the cpufrequtils
package and at first I tried to set the CPU governor to "performance" running cpufreq-set -g performance
; I can't tell whether this impacted somehow the idle frequency's range, however the result was not satisfying: in this state the frequency of all the CPUs constantly dropped down and rose up in the 1.0GHZ-2.4GHZ range.
So I tried to set the CPU governor to "userspace", in order to eventually be able to set a fixed frequency; however the following error came up:
Error setting new values. Common errors:
- Do you have proper administration rights? (super-user?)
- Is the governor you requested available and modprobed?
- Trying to set an invalid policy?
- Trying to set a specific frequency, but userspace governor is not available,
for example because of hardware which cannot be set to a specific frequency
or because the userspace governor isn't loaded?
After some research, I discovered that the "userpace" governor is not available when using the intel_pstate
driver; so I tried disabling it by adding intel_pstate=disable
to the kernel parameters in /etc/defaults/grub
and updating grub
; however, after the reboot, nothing changed and I'm still unable to switch to the "userspace" governor.
tl;dr
How can I enable the "userpace" governor?
- or -
How can I set the CPU frequency to always stay at its maximum?