System running hotter than other distros

When compared to several other distributions (Kubuntu, Manjaro, openSUSE Tumbleweed) my NUC is between ten to fifteen degrees hotter on EndeavourOS running the same software, although maybe different versions.

I’m sure this means one of three things:

  • Something is installed / enabled automatically on the others
  • I installed something on the others that I have completely forgotten about.
  • The sensor is being reported incorrectly somewhere.

Reviewing journalctl shows a lot of short lived CPU throttling events, which I suppose is a good thing and means that thermald isn’t required on this system. Does anyone know what the difference could be?

1 Like

EnOS is a bare system, we do not configure the system as the big ones do per default. And Thermald is doing a great job on keep temperature down.


Second part of the tutorial show how to set it up.

6 Likes

Thanks. I thought thermald wasn’t needed on newer systems but combined with powertop --auto-tune things are running cooler.

Just a couple of notes:

  • KDE users can install systemd-kcm from the aur for graphical systemd unit management from the KDE settings.
  • Powertop works better on some computers than tlp (This one for example). You can create a systemd service for it by running sudo sh -c "echo -e '[Unit]\nDescription=PowerTop\n\n[Service]\nType=oneshot\nRemainAfterExit=true\nExecStart=/usr/bin/powertop --auto-tune\n\n[Install]\nWantedBy=multi-user.target\n' > /etc/systemd/system/powertop.service".
2 Likes

Dear Joe,

I followed your tutorial and both tlp and thermald are now installed onto one of my computers running EndeavourOS.

But Thermald does not start automatically; each time I boot (or reboot) I must type sudo systemd-manager in the Terminal. scroll down to Thermald, and then manually start it.

Can you tell me the Terminal command I must enter so that Thermald will always start automatically?

Thank you.

Lawrence

sudo systemctl enable thermald to both start and enable a service, add the --now flag. sudo systemctl enable --now thermald

2 Likes

Thanks for replying to me but I’m afraid that neither of the commands you gave work. (I even tried using your command with thermald.service instead of just plain thermald but that didn’t work either.) Do you (or anyone else) know the Terminal command to make Thermald start automatically on every boot?

Lawrence

That’s the one. Do you have any errors with it? journalctl -b | grep thermald

Edit: Also what’s the output from the enable command?

1 Like

Here are the outputs for which you asked:

[verix-custom-1@verix-custom-1 ~]$ journalctl -b | grep thermald
Sep 28 11:04:37 verix-custom-1 thermald[507]: Invalid option. Please use --help to see a list of valid options.
Sep 28 11:04:37 verix-custom-1 systemd[1]: thermald.service: Succeeded.
Sep 28 11:04:37 verix-custom-1 audit[1]: SERVICE_START pid=1 uid=0 auid=4294967295 ses=4294967295 msg=‘unit=thermald comm=“systemd” exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success’
Sep 28 11:04:37 verix-custom-1 audit[1]: SERVICE_STOP pid=1 uid=0 auid=4294967295 ses=4294967295 msg=‘unit=thermald comm=“systemd” exe="/usr/lib/systemd/systemd" hostname=? addr=? terminal=? res=success’
Sep 28 14:17:48 verix-custom-1 sudo[8082]: verix-custom-1 : TTY=pts/1 ; PWD=/home/verix-custom-1 ; USER=root ; COMMAND=/usr/bin/pacman -U --noconfirm --config /etc/pacman.conf – /home/verix-custom-1/.cache/yay/thermald/thermald-1.9-2-x86_64.pkg.tar.xz
[verix-custom-1@verix-custom-1 ~]$ enable
enable .
enable :
enable [
enable alias
enable bg
enable bind
enable break
enable builtin
enable caller
enable cd
enable command
enable compgen
enable complete
enable compopt
enable continue
enable declare
enable dirs
enable disown
enable echo
enable enable
enable eval
enable exec
enable exit
enable export
enable false
enable fc
enable fg
enable getopts
enable hash
enable help
enable history
enable jobs
enable kill
enable let
enable local
enable logout
enable mapfile
enable popd
enable printf
enable pushd
enable pwd
enable read
enable readarray
enable readonly
enable return
enable set
enable shift
enable shopt
enable source
enable suspend
enable test
enable times
enable trap
enable true
enable type
enable typeset
enable ulimit
enable umask
enable unalias
enable unset
enable wait
[verix-custom-1@verix-custom-1 ~]$

I tried the commands you sent again - and they still don’t work.

Lawrence

When I said the enable command, I meant sudo systemctl enable thermald, sorry I should have been clearer.

That said, it looks like it started OK. What does systemctl status thermald show?

1 Like

Here is the output:

[verix-custom-1@verix-custom-1 ~]$ systemctl status thermald
● thermald.service - Thermal Daemon Service
Loaded: loaded (/usr/lib/systemd/system/thermald.service; enabled; vendor preset: disabled)
Active: active (running) since Sat 2019-09-28 14:42:08 EDT; 3min 26s ago
Main PID: 536 (thermald)
Tasks: 2
Memory: 7.9M
CGroup: /system.slice/thermald.service
└─536 /usr/bin/thermald --no-daemon --dbus-enable

Sep 28 14:42:08 verix-custom-1 thermald[536]: [WARN]Polling mode is enabled: 4
Sep 28 14:42:08 verix-custom-1 thermald[536]: [WARN]sensor id 8 : No temp sysfs for reading raw temp
Sep 28 14:42:08 verix-custom-1 thermald[536]: [WARN]sensor id 8 : No temp sysfs for reading raw temp
Sep 28 14:42:08 verix-custom-1 thermald[536]: I/O warning : failed to load external entity “/etc/thermald/thermal-conf.xml”
Sep 28 14:42:08 verix-custom-1 thermald[536]: [WARN]error: could not parse file /etc/thermald/thermal-conf.xml
Sep 28 14:42:08 verix-custom-1 thermald[536]: [WARN]sysfs open failed
Sep 28 14:42:08 verix-custom-1 thermald[536]: I/O warning : failed to load external entity “/etc/thermald/thermal-conf.xml”
Sep 28 14:42:08 verix-custom-1 thermald[536]: [WARN]error: could not parse file /etc/thermald/thermal-conf.xml
Sep 28 14:42:08 verix-custom-1 thermald[536]: I/O warning : failed to load external entity “/etc/thermald/thermal-conf.xml”
Sep 28 14:42:08 verix-custom-1 thermald[536]: [WARN]error: could not parse file /etc/thermald/thermal-conf.xml
[verix-custom-1@verix-custom-1 ~]$

Now I do not know what has happened, but now Thermald is indeed starting automatically when I boot the computer - but, from what I read in that output, something is wrong with it and it is not doing anything.

I notice that tlp is enabled automatically but tlp-sleep is not. Is that significant?

How would I get Thermald to do something to lower the computer’s temperature? (I’m not even sure that my particular computer runs too hot anyway.) Perhaps the Terminal output above will tell you something, something that I cannot understand.

Thanks for all of your help.

Lawrence

It does it quietly in the background and it will take some time before you notice the effect, it’s a slow burner but once it is kicked in, you don’t have to worry about your hardware’s temp.

1 Like

Thanks Bryan. Is the fact that tlp-sleep is not automatically activated significant? And how would I tell whether Thermald is actually working (after, say, several weeks)? I do not know how to determine the temperature of my computer.

Lawrence

To be honest, I noticed this just now that you’ve mentioned it. I have been running Thermald for years now and I never ran into a problem with tlp-sleep not activated.
You should notice after a aprox. a week that the temperature stays steady.

1 Like

Okay, but how do I tell exactly what the temperature is? Sorry for such a basic question but the only way I ever saw the temperature before (on other distros) was in the gnome-disk-utility and, in EndeavourOS, the temperature is not displayed there.

Lawrence

If you use Xfce then you can add the cpu temp in your taskbar, (I believe left click on the task bar to unlock it and then you can add it, I’m sorry I use Gnome, so I’m a bit rusty with the workarounds in Xfce.)

From a terminal, I use ‘watch’ and ‘sensors’, e.g.,

watch -n 2 sensors

Here’s an article with a more complete explanation:

Hope this helps!

2 Likes

It sure did! THANKS much!

Lawrence

1 Like

I am using Xfce and the closest thing to cpu temp is a panel plugin called Sensor plugin. It can be set to display the temperature of the computer (but not of each individual core as the watch command that bkaplan gave to me).

Anyway, now I can easily monitor my computer to make sure that it doesn’t overheat. I use the HandBrake video program extensively and, as I’m sure you know, that program uses a tremendous amount of processing power (my computer has 32 GB RAM and, when using HandBrake, over 90% is used and the computer does get warm!).

Thanks to everyone here for helping me out, especially MyNameIsRichardCS54 (who asked the initial question), joekamprad, bkaplan, and, of course, Bryanpwo.

Lawrence

3 Likes