I want to disable Intel "turbo boost" on startup of my system. For reason of this, as well as my laptop details, please refer to my Stack Overflow thread: Why can't my CPU retain peak performance in HPC?

In an answer I made myself, I used the following line inside /etc/rc.local:

echo 1 > /sys/devices/system/cpu/intel_pstate/no_turbo

This solution is partly motivated by this thread: Disabling Intel Turbo Boost in ubuntu, and was working just as expected, before I upgrade my Ubuntu system from 14.04 to 16.04 in February. But after that it no longer works: the no_turbo value is still 0 and that line has no effect at all.

Of course, I could manually do the following later:

sudo su
echo 1 > /sys/devices/system/cpu/intel_pstate/no_turbo

However, I can't remember doing this every time, and it is very discouraging when I realized that I had forgotten to do so and have to rerun a long benchmarking (like what I am doing now).

Is there an explanation why the same solution fails in 16.04? Or how can I achieve this automatically on startup?

Note I have other lines in rc.local, like for turning off Intel hyperthreading and setting backlight, they all work. It is just this particular line for "turbo boost" that fails. So the problem is not that rc.local is not run.

My machine has UEFI boot loader. Though there is an entry for the so-called legacy BIOS, there are few options there to set. Neither hyperthreading nor "turbo boost" can be configured.

In case someone wonders: the

systemctl enable rc-local.service

does not solve the issue.

  • 1
    I'm angry at whoever downvoted this to -1. I upvoted it back to 0. Nobody has written any reasons for downvoting.
    – Tom Mercer
    May 2, 2017 at 17:51
  • 1
    Not sure why it doesn't work in rc.local if it works in an interactive shell, but have you tried using sysfsutils?
    – Zanna
    May 3, 2017 at 5:11


Browse other questions tagged .