x220 thermal paste replacement


NOTE: All thermal tests were performed at an ambient room temperature of ~22 °C.

This ThinkPad x220 was produced in April 2011 and has never had it's thermal paste replaced. Does it make any difference to do so? Lets find out.

First we measure the current thermal situation with the old paste. For that we run the script bellow to collect data. Then we disassemble the laptop and apply new thermal paste. And finally we measure the thermals again to see if anything changed.

Thermal data colector script

The script gathers data for us by logging CPU temperature, fan frequency, and fan RPM in a file. We used gnuplot to visualize the collected data.

#!/bin/sh
# TODO: Make this more robust and less hacky.

date="$(date +"%T")"
logfile="$1-log-start-$date"

echo "Temperature,Frequency,FanRPM" > /tmp/$logfile
echo "Start recording Temperature, Frequency and FanRPM to $logfile"
echo "Press ctrl-c to close this script and stop recording."

get_thermalzones() {
  cd /sys/class/thermal/ || exit # change to dir or exit
  items=(thermal_zone*)
  amount=${#items[@]}
  echo $amount
}

thermalzones=$(get_thermalzones)

cpucount="$(lscpu  | grep "^CPU(s)" | awk '{print $2}')"

while true; do
  temptotal="$(cat /sys/class/thermal/thermal_zone*/temp | paste -sd '+' | bc)"
  # computation of thermal average
  temp=$( echo "($temptotal/$thermalzones)/1000" | bc )

  # these values are needed to calculate the average frequency of all cores
  freqtotal="$(cat /proc/cpuinfo | grep "^[c]pu MHz" | awk '{print $4}' | paste -sd '+' | bc)"

  # computation of frequency average
  freq=$( echo "$freqtotal/$cpucount" | bc )

  # Get fan's RPM
  rpm="$(cat /sys/bus/platform/devices/thinkpad_hwmon/hwmon/hwmon3/fan1_input)"

  # calcluating cpu Wattage , / 1000000000000
  #power="$( echo "$(cat /sys/class/power_supply/BAT*/current_now) * $(cat /sys/class/power_supply/BAT*/voltage_now) / 1000000000000" | bc  )"

  echo "$temp,$freq,$rpm" >> /tmp/$logfile
  sleep 1
done

In "Table 1" we see that there is a 4.49% temperaure reduction and a 45.01% reduction in fan speed (RPM).
Further in "Plot 1", we can see the temperature changes over time.
Both tests start at around 45-46 degrees Celsius. With the old thermal paste the temperature rises until it reaches a settle point of around 47 degrees Celsius. Comparing this to the new thermal paste where the temperature sinks until it settles at 43 degrees Celsius. Resulting in a reduction of 4 degrees Celsius during idle.

Laptop in idle °Celsius Fan-RPM CPU(Mhz)
Old Paste 45.48 2353.68 2206.06
New Paste 43.48 1488.85 2200.31
Difference 4.49% 45.01% 0.26%
Table 1 - Idle Test

Plot 1 - Idle Test

In "Table 2" the fan speed is more comparable. The fan ramps up to about its max speed during stress test. There is a temperature improvement 9.04%. Further in "Plot 2" we can see that the device never reaches its limit of 95 degrees Celsius, thus it won't start to throttle dramatically.

Laptop stress test °Celsius Fan-RPM CPU(Mhz)
Old Paste 93.80 4507.1 2752.11
New Paste 85.68 4468.46
3070.74
Difference 9.04%
0.86% 10.94%
Table 2 - Stress Test

Plot 2 - Stress Test