thermald is an optional temperature control daemon for Intel CPUs.
An webpage with examples of thermald configurationInstallation
sudo apt install thermald
Configuration
sudo nano /etc/thermald/thermal-conf.xml
Insert following (replace 40000 with temperate of preference, times 1000, in Celsius):
<?xml version="1.0"?>
<ThermalConfiguration>
<Platform>
<Name>Override CPU default passive</Name>
<ProductName>*</ProductName>
<Preference>QUIET</Preference>
<ThermalZones>
<ThermalZone>
<Type>cpu</Type>
<TripPoints>
<TripPoint>
<Temperature>40000</Temperature>
<type>passive</type>
</TripPoint>
</TripPoints>
</ThermalZone>
</ThermalZones>
</Platform>
</ThermalConfiguration>
While running and configured as above, thermald will attempt to reduce temperature by keeping CPU frequency to a stable minimum and reduce load of individual CPU cores. Note that setting too low temperature will limit device performance.
Debugging
sudo systemctl stop thermald
sudo thermald --no-daemon --loglevel=info
In other tmux pane:
sudo apt install stress
stress --cpu 4 --timeout 60