Is there any way to underclock my CPU or disable turbo boost? Lenovo Y50

I just installed Ubuntu on my Lenovo y50 laptop and have a turbo boost issue.

I'm trying to install a program called Gromacs with cmake.

But whenever I try to install it, the CPU ramps up to full turbo with all 4 cores. This makes my CPU go up to 100°C according to i7z- This never happens in Windows, usually it is locked at 2.4 Ghz when 4 cores are active. Is there any way to underclock my CPU?


When the cpu frequency driver is intel_pstate, then turbo can be disabled with this command:

echo "1" | sudo tee /sys/devices/system/cpu/intel_pstate/no_turbo

Disabling turbo will limit the maximum CPU clock frequency to the non turbo number. For example, and for my computer that means 3.4 GHz verses the turbo enabled max of 3.8 GHz.

To check if your system is using the intel_pstate driver use this command:

cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_driver

If you find you want to turn down the maximum clock frequency some more try, for example, this command:

echo "90" | sudo tee /sys/devices/system/cpu/intel_pstate/max_perf_pct

Meaning, set the maximum CPU clock frequency that can be used to 90 percent of the default maximum. Note that the exact percentage reduction will either be rounded or truncated to a nearby pstate (an integer 100 Mhz multiplier).

Normally the driver should run in powersave mode, which is not the same as powersave mode for the acpi cpufreq driver. It is actually more similar to ondemand mode. Check via:

cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor

and change via a script such as this, run as sudo:

#! /bin/bash
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
for file in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor; do echo "powersave" > $file; done
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor

Okey, so I have found the optimal solution for my problem. On the Lenovo y50 there seams to be some kind of thermal problem on Ubuntu 14.10.

I can only speculate but I believe this is due to having both the Nvidia card and intelHD running at the same time causing overheating.

You can disable the eGPU by going into the Y50 bios. I find this will improve the battery life a bit. But it sucks to have to turn off hardware you have already paid for.

By installing TLP I managed to run my laptop at 3 Ghz with temps below 75 deg C!

See this link:

http://www.webupd8.org/2013/04/improve-power-usage-battery-life-in.html

The parts i found relevant for Y50 where:

sudo add-apt-repository ppa:linrunner/tlp

sudo apt-get update

sudo apt-get install tlp tlp-rdw

sudo apt-get install gksu

Then

gksudo gedit /etc/default/tlp

Then in the text file I just removed the hash tags and set these values on the following lines:

CPU_MIN_PERF_ON_AC=0

CPU_MAX_PERF_ON_AC=90

CPU_MIN_PERF_ON_BAT=0

CPU_MAX_PERF_ON_BAT=90

CPU_BOOST_ON_AC=1

CPU_BOOST_ON_BAT=1

And put hash tags on all the lines with Radeon settings since my card is Nvidia.

The computer runs much cooler and you don't need to manually set anything on start up.

Every time after you edit something in that text file, use this command to apply those changes instead of rebooting.

sudo tlp start

Another possible profile would be

CPU_MIN_PERF_ON_AC=90

CPU_MAX_PERF_ON_AC=90

CPU_MIN_PERF_ON_BAT=90

CPU_MAX_PERF_ON_BAT=90

Locking the CPU at a pretty good freq. These values are in percentages.

If you are okey with the CPU going up to 90 deg C you can also try this profile

CPU_MIN_PERF_ON_AC=90

CPU_MAX_PERF_ON_AC=100

CPU_MIN_PERF_ON_BAT=90

CPU_MAX_PERF_ON_BAT=100

You can also try this option

Minimize number of used CPU cores/hyper-threads under light load conditions

SCHED_POWERSAVE_ON_AC=1

SCHED_POWERSAVE_ON_BAT=1

Good luck!