Since the upgrade from Ubuntu 16.04 LTS to Ubuntu 18.04, my laptop ASUS k55VM) is overheating and goes to critical temperature shutdown. The temperature varies between 70 and 85°C with doing nothing and then goes up to 95 with watching YouTube videos before shutdown. I have tried to clean fans from dust, blacklisted noveau driver but nothing helped. Finally, I have been successful with searching for workaround that is working for me. The issue here is intel_pstate scaling driver which does not reduce the processor speed when temperature increases.
The driver is not modular and it is built-in with kernel so we cannot unload it. However, we can disable it at boot by editing grub configuration. Firstly, check if your system is using the intel_pstate frequency scaling driver. If not, overheating is not caused by the intel_pstate driver and you need to figure out the cause by yourself.
$ cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_driver
intel_pstate
intel_pstate
intel_pstate
intel_pstate
intel_pstate
intel_pstate
intel_pstate
intel_pstate
Solution 1 - Disabling intel_pstate at Boot by Editing Grub Configuration
Open /etc/default/grub with editor and locate the line that begins with:
GRUB_CMDLINE_LINUX_DEFAULT
Add intel_pstate=disable at the end of that string as below.
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_pstate=disable"
Now, execute:
Update grub and reboot the laptop.
$ sudo update-grub
Reboot the laptop and check a driver that is used for frequency scaling.
$ cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_driver
acpi-cpufreq
acpi-cpufreq
acpi-cpufreq
acpi-cpufreq
acpi-cpufreq
acpi-cpufreq
acpi-cpufreq
acpi-cpufreq
Solution 2 - Deactivating Intel Turbo Boost
P State behavior can be also influenced with /sys/devices/system/cpu/intel_pstate. Intel Turbo Boost can be deactivated with # echo 1 > /sys/devices/system/cpu/intel_pstate/no_turbo for keeping CPU temperatures low. It can be done with the script below.
$ sudo su
# echo '1' > /sys/devices/system/cpu/intel_pstate/no_turbo
If it is nreqyuired, you can re-enable Intel Turbo Boost with the script.
$ sudo su
# echo '0' > /sys/devices/system/cpu/intel_pstate/no_turbo
End.
References:
https://wiki.archlinux.org/index.php/CPU_frequency_scaling
https://askubuntu.com/questions/1063363/laptop-cpugpu-overheating-after-update-to-18-04-lts/1064534#1064534
Don't know how you figured it out but the intel_pstate fix worked perfectly on my Asus x550JF laptop. I'd spent a ridiculous amount of time messing with TLP, Slimbook Battery and alls kind of other supposed solutions but it still ran crazy hot. This has worked for months now.
Thank you so much. Though the temperatures were only 54, 55 C in my new laptop, I was still worried. Implementing method 1 brought down the temperatures to 38, 39 C.