Check temperature of Raspberry Pi CPU
The vcgencmd utility allows reading a few dozen hardware measurements on the Raspberry Pi boards.
CPU Temperature is checked by:
vcgencmd measure_tempTypical temperatures in office environment, with case:
| Pi Model | heatsink | usage | temp [C] |
|---|---|---|---|
| 2B | yes | light-moderate | 40..45 |
| 4B | no | light-moderate | 65..70 |
| 4B | no | YouTube 720p60 | 85 |
A red thermometer icon GPU-superimposed on the Raspberry Pi display output means the Raspberry Pi is overheating and is throttling the CPU and GPU to avoid self-destruction.
Raspberry Pi 0, 1, 2, 3 temperature thresholds:
| CPU temp. [C] | icon | throttle |
|---|---|---|
| < 80 | none | none |
| 80 - 85 |
|
CPU |
| > 85 |
|
CPU & GPU |
Raspberry Pi 4 temperature thresholds:
| CPU temp. [C] | icon | throttle |
|---|---|---|
| 80 - 85 | none | CPU: 1000 MHz |
| 85 - 90 |
|
CPU |
| > 90 |
|
CPU & GPU |
The current Raspberry Pi CPU clock speed is obtained from
vcgencmd measure_clock armThe output is in units of Hertz. The Raspberry Pi CPU clock speed and power consumption is dynamic:
| clock speed [MHz] | Raspi 2 | Raspi 3 | Raspi 3+ | Raspi 4 |
|---|---|---|---|---|
| idle | 600 | 600 | 600 | 600 |
| 100% one or more cores | 900 | 1200 | 1400 | 1500 |
Log temperature measurements with crontab -e.
This can periodically log temperature and CPU frequency, e.g. add a line like:
@hourly vcgencmd measure_temp | /usr/bin/logger
logger writes the measured parameters into the system log.
Related: Monitor Raspberry Pi DC input voltage