On 09/04/2023 02:17, songbird wrote:
i have an intel processor and it has the MAX which does
prevent it from going higher (100C), but i'd like to keep it
at 70C or lower.
I recommend thermald, which I use to limit my fanless 65 W i7-7700 CPU
to 80°C, passively cooled with heat pipes connected to a heat sink on
the side of a Streacom FC8 Alpha case. I use the xfce4-sensors-plugin to
monitor CPU package temperatures and thermald seems to do the job. My
config:
$ cat /etc/thermald/thermal-conf.xml
<?xml version="1.0"?>
<ThermalConfiguration>
<Platform>
<Name>Passive control of CPU temperature</Name>
<ProductName>*</ProductName>
<Preference>QUIET</Preference>
<ThermalZones>
<ThermalZone>
<Type>cpu</Type>
<TripPoints>
<TripPoint>
<Temperature>80000</Temperature>
<type>passive</type>
</TripPoint>
</TripPoints>
</ThermalZone>
</ThermalZones>
</Platform>
</ThermalConfiguration>
I also mask thermald.service and use a custom thermald-custom.service to
decrease thermald polling interval to one second because a lot can
happen in the default polling interval of three seconds (IIRC). I use a
custom service so it survives upgrades (last time I checked, polling
interval was not a configuration option as it should be). This service
file is based on thermald.service from several years ago and it might
need to be refreshed from current thermald.service. You can add the
"--loglevel=debug" option to ExecStart to watch it in action with
"journalctl -f" but it will flood your logs if debug logging is left
enabled:
$ cat /lib/systemd/system/thermald-custom.service
[Unit]
Description=Thermal Daemon Service
[Service]
Type=dbus
SuccessExitStatus=1
BusName=org.freedesktop.thermald
ExecStart=/usr/sbin/thermald --no-daemon --dbus-enable --poll-interval=1
# --loglevel=debug
[Install]
WantedBy=multi-user.target
Alias=dbus-org.freedesktop.thermald.service
Kind regards,
--
Ash Joubert (they/them) <a...@transient.nz>
Director / Game Developer
Transient Software Limited <https://transient.nz/>
New Zealand