Monitoring thermal throttling – Ian's notes


Monitoring thermal throttling

September 24th, 2020 by

Thermal throttling of a CPU is visible as a reduction in clock speed under load, and is easiest to notice while monitoring both core temperature and clock speed simultaneously.

The following command displays the near real-time clock speed of all the CPU cores, updated every second1:

watch -n1 "cat /proc/cpuinfo | grep \"^[c]pu MHz\""

The following command displays the core temperatures, also updated every second:

watch -n 1 sensors

You can keep an eye on these two metrics to establish a baseline prior to starting a stress test. To proceed with a stress test on the CPU, run the following:

stress -c 4

The example above assumes four CPU cores, adjust appropriately for your own machine. If thermal throttling takes place, you’ll see the clock speed drop from its initial peak at the moment the stress test starts down to a reduced value when the core temperatures exceed a set threshold.

Note that if your CPU has a turbo boost clock speed on one or all cores, you’ll need to take this value into account, as boost clock speeds tend to apply only for short bursts, even if thermal constraints are not applicable.

1 https://unix.stackexchange.com/a/265611