O thermald é um serviço usado para prevenir o superaquecimento no seu PC. Ele pode rodar em Linux, OSX e, até mesmo, Android. O software monitora a temperatura do sistema e procura compensar a situação através dos métodos de resfriamento disponíveis.
O propósito do aplicativo é agir antes que o próprio hardware comece a corrigir agressivamente a situação.
Desenvolvido sob patrocínio da Intel e por desenvolvedores pagos pela empresa, a ferramenta só está disponível para quem usa processadores desta marca — da linha Core e Atom — pra ser mais específico, os que usam a tecnologia Sandy Bridge ou posterior.
O thermald daemon monitora os sensores presentes no sistema e modifica os controles para manter o hardware abaixo das temperaturas limite e evitar, com mais eficiência, os picos.
O thermald mantém o sistema frio através…
- … de dispositivos de resfriamento ativos ou passivos, encontrados no sysfs;
- … do RAPL (Running Average Power Limit);
O RAPL é um driver, disponível para processadores Intel, que provê aos softwares da plataforma a possibilidade de monitorar, controlar e obter notificações sobre o consumo de energia. - … do driver Intel P-state CPU frequency;
- … do driver CPU freq;
- … e do driver Intel PowerClamp.
Opcionalmente, o daemon pode tomar o controle exclusivo do sistema e agir como um governor.
Como instalar o thermald
O aplicativo pode ser instalado diretamente dos repositórios. Se você usa o Fedora Linux, pode instalar com o yum:
yum install thermald
Usuários do Ubuntu e Debian, podem instalar o aplicativo com o apt:
sudo apt install thermald
Se preferir (e souber o que está fazendo), pode baixar, compilar e instalar a versão mais atual do aplicativo — não é complicado e eu recomendo.
Como usar o thermald
Se você usa o Fedora Linux, recomendo a leitura deste artigo, para ver as primeiras dicas pós-instalação, em que este aplicativo é mencionado.
Não esqueça de executar os comandos abaixo com privilégios administrativos.
No Ubuntu e no Debian, você pode verificar se o daemon está rodando com o seguinte comando:
systemctl status thermald
● thermald.service - Thermal Daemon Service
Loaded: loaded (/lib/systemd/system/thermald.service; enabled; vendor preset:
Active: active (running) since Wed 2017-08-30 15:05:19 -03; 17min ago
Main PID: 18007 (thermald)
Tasks: 2 (limit: 4915)
CGroup: /system.slice/thermald.service
└─18007 /usr/sbin/thermald --no-daemon --dbus-enable
ago 30 15:05:19 ultra-5 systemd[1]: Starting Thermal Daemon Service...
ago 30 15:05:19 ultra-5 thermald[18007]: 13 CPUID levels; family:model:stepping
ago 30 15:05:19 ultra-5 thermald[18007]: Polling mode is enabled: 4
ago 30 15:05:19 ultra-5 thermald[18007]: sysfs write failed /sys/devices/virtual
ago 30 15:05:19 ultra-5 systemd[1]: Started Thermal Daemon Service.
ago 30 15:06:03 ultra-5 thermald[18007]: sysfs write failed /sys/devices/virtual
ago 30 15:06:03 ultra-5 thermald[18007]: sysfs write failed /sys/devices/virtual
lines 1-15/15 (END)
Se não estiver ativo, inicie o serviço assim:
systemctl start thermald
Para interromper, use o comando:
systemctl stop thermald
Como usar o thermald na linha de comando
O aplicativo foi concebido pra rodar como um serviço. Ou seja, é pra ser instalado e esquecido.
Não há necessidade de fazer absolutamente nada depois da instalação — deixe o cara trabalhar.
Contudo, se você ainda quiser aprender um pouco mais sobre ele, seguem alguns comandos de interação, que podem ser executados no console —. Se tiver algum tempo sobrando, experimente baixar e compilar o código fonte, para ter uma versão mais atual do thermald.
Para ver a versão atual do thermald, digite o seguinte comando no seu console:
thermald --version
Se quiser obter ajuda, pode recorrer ao manual do sistema man thermald
ou à tradicional ajuda, no terminal:
thermald -h
A maioria das opções do aplicativo exigem privilégios administrativos para serem invocadas:
thermald
You must be root to run thermald!
Se quiser, desligue o daemon e rode o aplicativo “interativamente”:
systemctl thermald stop
thermald --no-daemon --poll-interval=1
Polling enabled: 1
13 CPUID levels; family:model:stepping 0x6:2a:7 (6:42:7)
Polling mode is enabled: 1
Para interromper a execução, tecle ‘Ctrl + C’.
Como criar e alterar o arquivo de configuração do thermald
A localização padrão do arquivo de configuração do thermald é /etc/thermald/thermal-conf.xml
. Você não precisa se preocupar, caso não encontre o arquivo em seu sistema — o daemon não precisa dele para fazer o seu trabalho.
Contudo, se você tiver um bom nível de conhecimento técnico sobre o seu hardware, pode fazer alguns ajustes para otimizar o funcionamento do thermald.
A configuração é baseada modelo da ACPI, em que as regiões da plataforma são divididas em zonas térmicas — e estas contém dispositivos físicos, controles de resfriamento e sensores térmicos.
Controles de resfriamento modificam o comportamento das ventoinhas (coolers) e de interfaces de drivers que podem reduzir o clock da CPU, por exemplo.
O processo de resfriamento pode ser
- ativo — quando o ventilador é acionado para diminuir o calor. A desvantagem deste método é que consome mais energia e pode ser ruidoso;
- passivo — quando reduz o clock da CPU, fazendo com que ela produza menos calor. Neste caso, você perde em performance. Dependendo do tipo de atividade, esta perda pode sequer ser sentida.
Nota: A relação desempenho x temperatura x economia (de energia) é discutida também neste artigo.
Os dispositivos de resfriamento pode ser ativados toda vez que se alcança certos picos na temperatura.
As zonas térmicas, ou thermal zones, pode ter mais de um ponto de acionamento (trip points).
Teoricamente, o governor térmico da ACPI deveria ter informações corretas do sistema para se basear no controle da temperatura do sistema. Mas isto nem sempre é verdadeiro.
O arquivo de configuração do thermald pode ser usado para corrigir e otimizar o comportamento do sistema.
Abaixo, segue um exemplo do arquivo de configuração:
<?xml version="1.0"?>Example Laptop * QUIET pkg-temp-0 /sys/class/thermal/thermal_zone1/ 1 cpu package pkg-temp-0 80000 passive PARALLEL 1 rapl_controller 50 10 2 intel_pstate 40 10 3 intel_powerclamp 30 10 4 cpufreq 20 8 5 Processor 10 5
Se você não sabe o que está fazendo, recomendo não alterar as configurações do thermald. Como já disse antes, ele funciona muito bem sozinho.
Uma vez alteradas as configurações, é necessário parar o serviço e reiniciá-lo:
systemctl restart thermald
Se quiser, é possível observar interativamente o funcionamento do thermald:
sudo service thermald stop
sudo thermald --no-daemon --loglevel=debug
Divirta-se! 😉
Referências
- Wikipedia — O que é um daemon.
- Como instalar o thermald no Ubuntu, no Fedora e em qualquer outro Linux. Este artigo também ensina o passo a passo para baixar e compilar a última versão do thermald.
- Controle a temperatura do sistema com o cpufreqd.
- Wiki Ubuntu — https://wiki.ubuntu.com/Kernel/PowerManagement/ThermalIssues.
8 replies on “Previna o superaquecimento do seu sistema com thermald”
Muito obrigado pela dica. Meu laptop tava aquecendo demais e depois de seguir as instruções do seu post melhorou muito.
Esse daemon funciona em CPU’s Athlon X2 AMD?
Eu não testei o programa em máquinas com processadores AMD.
Contudo, de acordo com esta thread no AskUbuntu, funciona sim.
Olá amigo,
não funcionou comigo, eu uso ubuntu 16.04, quanto tento “sudo status thermald” ele retorna o seguinte:
[sudo] senha para ubuntu:
status: Não foi possível conectar ao Upstart: Failed to connect to socket /com/ubuntu/upstart: Conexão recusada
Poderia me ajudar? Agradeço.
Atualizei o artigo, para contemplar o uso (atualmente) do systemd.
Interessante este cara. Se não me engano no Ubuntu começou a vir por padrão a partir da versão 14.
Lembrei dele hoje ao atualizar um servidor.
Muito bom o artigo. 😉
Quando executo o comando status thermald obtenho que o comando não foi encontrado. O mesmo se repete para os demais comandos mesmo com o thermald já instalado.
Tenho um debian jessie, poderia me ajudar com este ponto?
Dê mais informações sobre o que você está tentando fazer e sobre o seu hardware também.
Adianto que o thermald foi projetado para processadores Intel.