powernow-k8
, which used to be an external module, has been directly compiled into the kernel since 2010. To avoid the speed-stepping you can simply run the CPUs at full speed. From Stack Exchange answer: Is there a way to disable Intel SpeedStep steppings on an Ubuntu Server using a command line application?
Start by reading the current available settings for your system:
sudo cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_governors
this will return a list of available settings you can use to regulate each core of your CPU, if you can you should then set them to max performance by selecting the performance option. This will make your CPU cores run always at max frequency.
Knowing what options you have and if the performance option is available, you can then set each core to performance mode with the command:
sudo echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
this will make cpu0 (first core) run all the time at max performance. Do it for all the logical cores in your CPU.
You can then check if the option was successfully changed with the command:
sudo cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
this will check the current set option for cpu0 (first core). Check if the change was successful for all cores and if everything was set correctly you are good to go: Intel SpeedStep will be on but all your cores will be running at max frequency speed all the time.
NOTE: Although the question and answer references Intel SpeedStep the same should hold true with AMD's PowerNow technology.
Original post based on Arch Linux information
powernow_k8 has been deprecated since kernel 3.7
. You can blacklist it (How to blacklist kernel modules?) using command:
sudo -H leafpad /etc/modprobe.d/blacklist.conf
and inserting these two lines:
# powernow-k8 deprecated since kernel 3.7
blacklist powernow-k8
Save the file and exit gedit
After reboot confirm module is no longer loaded using:
lsmod | grep powernow-k8
You can also read the link above for steps to temporarily blacklist a module.
NOTE your CPU will now be running at full frequency unless the replacement module acpi-cpufreq
is used.
gedit
:P so I usednano
instead. Anyway, unfortunately, that didn't fix it. Interestingly, it appears that the kernel module wasn't loaded to begin with (I ran thelsmod
command prior to rebooting, and it did not return anything) – You'reAGitForNotUsingGit Aug 11 '18 at 18:51sudo -H leafpad
. It's like muscle memory to usegedit
all the time in answers. Also reading: https://github.com/spotify/linux/blob/master/Documentation/cpu-freq/amd-powernow.txt I see I made a typo. It's notpowernow_k8
but ratherpowernow-k8
. I've revised the answer accordingly. PS interestingly the github branch is maintained by our "God-Father": Linus Torvalds :) – WinEunuuchs2Unix Aug 11 '18 at 18:55modprobe -r powernow-k8
and it came back with:modprobe: FATAL: powernow_k8 is builtin
– You'reAGitForNotUsingGit Aug 11 '18 at 19:03sudo
yieldedbash: Permission denied
, but doingsudo su
and then running the command without prefixing it withsudo
worked.... – You'reAGitForNotUsingGit Aug 13 '18 at 19:29/etc/rc.local
which runs as root during Boot. No need forsudo
just useecho ....
. glad it worked! – WinEunuuchs2Unix Aug 13 '18 at 21:51