x220 thermal paste replacement


My ThinkPad x220 was released 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 have to measure the current thermal situation with the old paste. For that we collect some data and visualize it. Next we disassemble the device and apply new thermal paste. Then we measure the thermals again to see if anything changed.

The following script collects that data for us. We are stressing the laptop for 10min with a synthetic load and logging that. Then we do the same with the laptop only idling, no load, to compare.

Thermal data colector script
#!/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