I recently got a laptop with a 4 core (8 thread) Intel i7 CPU, running Windows. Unless I'm really pushing it, it doesn't heat up very much. However when I installed Linux it began to heat up significantly and battery life got much shorter. Specifically a this is a Debian-based live CD of Tails booted with toram
so the disc is not inserted and the root filesystem is a squashfs
image living in memory.
I'm aware that Windows has some power optimizations for power usage that Linux doesn't use by default, but here's where it gets weird:
- I disabled the discrete graphics chip by booting with
nouveau.modeset=0
. - I disabled SMP, so the system is running only a single physical core.
- I used
cpufreq-set
to reduce the maximum clock rate to 800 MHz.
Despite all this, the laptop is getting really hot. If I leave it idling for an hour (CPU usage typically around 1% the entire time), it gets so hot that my kernel log starts accumulating overheating errors, saying that the CPU clock had to be throttled (it's already at its minimum and can't go any lower).
What in the world could be causing so much heat when I run Linux? How could a Windows system with 4 cores running at an average of 1.5 to 3 GHz at any given time and running the discrete GPU generate significantly less heat than a Linux system with a single enabled core running at 0.8 GHz?
The current output of sensors
shows that the CPU itself isn't that hot:
coretemp-isa-0000
Adapter: ISA adapter
Package id 0: +65.0°C (high = +86.0°C, crit = +100.0°C)
Core 0: +64.0°C (high = +86.0°C, crit = +100.0°C)
thinkpad-isa-0000
Adapter: ISA adapter
fan1: 2880 RPM
The fan is under the control of the laptop's EC.
toram
so the disc is not inserted. The root filesystem is a squashfs image living in memory.