Cool CPU temperature with frequency throttling

  1. Download Github: temp-throttle.

  2. Unzip the file.

    unzip ~/Downloads/temp-throttle-stable.zip -d ~/Software
  3. Create a systemd service.

    sudo cp -r ~/Software/temp-throttle-stable/etc/* /etc/
    sudo cp -r ~/Software/temp-throttle-stable/usr/* /usr/

    sudo systemctl enable temp-throttle.service --now
    systemctl status temp-throttle.service

    /usr/lib/systemd/system/temp-throttle.service:

    [Unit]
    Description=Throttle system CPU frequency based on a maximum temperature

    [Service]
    ExecStart=/usr/sbin/temp-throttle
    Type=simple

    [Install]
    WantedBy=multi-user.target

    /etc/temp-throttle.conf:

    # /etc/temp-throttle.conf
    # Configuration file for temp-throttle

    # MAX_TEMP sets the maximum desired temperature in Celcius.
    MAX_TEMP=80

    # Optional seconds between checking temperature. Default 3.
    #INTERVAL=3

    # Optional force read CPU temperature from given file. Default is auto detection.
    #TEMP_FILE=/sys/class/hwmon/hwmon1/device/temp1_input
    #TEMP_FILE=/sys/class/hwmon/hwmon0/temp0_input

    # Optional override for CPU Core to read frequency information from. Default 0.
    # May be neccessary for big.little endian.
    #CORE=0

    # Optional log to file. Default stdout.
    #LOG_FILE=/var/log/temp-throttle.log