Linux CPU Thermal Throttling — Performance Drops Due to Overheating
Warningsystem
Overview
Fix CPU thermal throttling on Linux where the processor reduces clock speed to prevent overheating, causing performance degradation under heavy load.
Key Details
- CPU thermal throttling reduces clock speed when the processor temperature exceeds safe limits
- Throttling is controlled by the CPU firmware and Linux thermal subsystem
- Common thermal limits: laptop CPUs (90-100C), desktop CPUs (85-95C), server CPUs (80-90C)
- Throttling causes sudden performance drops under sustained load (compiling, rendering, VMs)
- The intel_pstate or acpi-cpufreq driver manages CPU frequency scaling on Linux
Common Causes
- Dust buildup blocking CPU cooler airflow
- Thermal paste dried out between CPU and heatsink
- Insufficient cooling for the workload (stock cooler under sustained heavy load)
- Server room or environment temperature too high
Steps
- 1Check CPU temperature: 'sensors' (from lm-sensors package) or 'cat /sys/class/thermal/thermal_zone*/temp'
- 2Check throttle count: 'cat /sys/devices/system/cpu/cpu0/thermal_throttle/core_throttle_count'
- 3Monitor frequency: 'watch -n 1 cat /proc/cpuinfo | grep MHz' — frequency drops when throttling
- 4Clean dust from CPU cooler and case fans
- 5Replace thermal paste if temperatures are high with a clean cooler (reapply after removing old paste)
Tags
thermalthrottlingcputemperatureperformance
Related Items
More in System
windows-C000021A-status-system-process-terminatedWindows Error 0xC000021A — STATUS SYSTEM PROCESS TERMINATED
Criticalwindows-C0000225-boot-configuration-errorWindows Error 0xC0000225 — Boot Configuration Error
Criticalwindows-C000000F-boot-selection-failedWindows Error 0xC000000F — Boot Selection Failed
Criticalwindows-80004005-unspecified-errorWindows Error 0x80004005 — Unspecified Error
Warningwindows-80070570-file-or-directory-corruptedWindows Error 0x80070570 — File or Directory Corrupted
Errorwindows-system-0xc0000185Windows Error 0xC0000185 — Boot Device Inaccessible
CriticalFrequently Asked Questions
Debian/Ubuntu: apt install lm-sensors, then run 'sudo sensors-detect' to configure. RHEL/CentOS: yum install lm_sensors. After setup, run 'sensors' to see current temperatures.