Thermal Management on a Dell XPS 15

Date: May 17, 2020

I've had issues with my Dell XPS 15 laptop getting super hot and throttling itself ever since I bought the laptop. The following messages in the kernel log have become extremely common when I'm running any sort of CPU intensive task:

May 12 09:54:57 localhost kernel: CPU4: Package temperature above threshold, cpu clock throttled (total events = 2032)
May 12 09:54:57 localhost kernel: CPU6: Core temperature above threshold, cpu clock throttled (total events = 1054)
May 12 09:54:57 localhost kernel: CPU2: Core temperature above threshold, cpu clock throttled (total events = 1054)
May 12 09:54:57 localhost kernel: CPU0: Package temperature above threshold, cpu clock throttled (total events = 2032)
May 12 09:54:57 localhost kernel: CPU6: Package temperature above threshold, cpu clock throttled (total events = 2032)
May 12 09:54:57 localhost kernel: CPU2: Package temperature above threshold, cpu clock throttled (total events = 2032)
May 12 09:54:57 localhost kernel: CPU5: Package temperature above threshold, cpu clock throttled (total events = 2032)
May 12 09:54:57 localhost kernel: CPU1: Package temperature above threshold, cpu clock throttled (total events = 2032)
May 12 09:54:57 localhost kernel: CPU7: Package temperature above threshold, cpu clock throttled (total events = 2032)
May 12 09:54:57 localhost kernel: CPU3: Package temperature above threshold, cpu clock throttled (total events = 2032)

A while ago I asked on the fedora users mailing list if anyone had any suggestions, but I didn't get a response.

Then recently my battery started bulging and so I had to remove that.

Battery bulging

Today I decided to do some more googling and found a really interesting reddit post here.

Airflow Aluminum Tape Mod

The first thing I did was to take apart my laptop and clean out the fans. Next, I decided to try what looked like the easiest and most bang for the buck mod on the list; placing tape over the bridge between the heatsinks and the edge of the case. In the post it recommends using high temperature 3M electrical tape, but I decided to use 3M aluminum tape since that is specifically designed for thermal management. I cut a strip just big enough to cover both the two copper heatsink bars and the edge of the case. I then cut another strip to put on the underside of the first strip where it would be exposed so that there was no exposed sticky side of the tape. Finally I installed it.

The 3M aluminum tape I used. The finished mod

Disabling Turbo Boost

Next I decided to disable turbo boost. To do this, I simply logged in as root and set up a cron job:

# crontab -e

that looks like:

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

I'm sure there's a fancier way to do this, but I don't really know the whole sequence of boot up events on modern Linux distributions with systemd.

Results

Unfortunately I forgot to record my temperatures at idle and with a standard test before this, so I don't really know the effect of the mod.

However, with the mod in place and running

$ xsensors

I'm reading the following results at idle: