thermald is an optional temperature control daemon for Intel CPUs.

An webpage with examples of thermald configuration

Installation

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