Configurar aviso da temperatura da CPU no Conky

Publicado por Buckminster em 31/12/2025

[ Hits: 523 ]

 


Configurar aviso da temperatura da CPU no Conky



No Conky não é aconselhado utilizar:

${hwmon 0 temp 1}
${hwmon 0 temp 3}

O hwmon pode não ser a CPU.

A CPU costuma aparecer na saída do comando sensors: coretemp, k10temp, zenpower ou outro driver.

Exemplo:

$ sensors

pch_skylake-virtual-0
Adapter: Virtual device
temp1: +39.5°C

coretemp-isa-0000
Adapter: ISA adapter
Package id 0: +38.0°C (high = +80.0°C, crit = +100.0°C)
Core 0: +37.0°C (high = +80.0°C, crit = +100.0°C)
Core 1: +37.0°C (high = +80.0°C, crit = +100.0°C)
Core 2: +38.0°C (high = +80.0°C, crit = +100.0°C)
Core 3: +36.0°C (high = +80.0°C, crit = +100.0°C)


Caso não tiver, instale o pacote:

$ sudo apt install lm-sensors #ou dnf, pacman, zypper, etc

Caso colocar hwmon 0 e/ou hwmon 1 o Conky não consegue identificar onde está a temperatura da CPU.

Para ver os hwmon:

$ ls /sys/class/hwmon/

hwmon0 hwmon1

Para qual é a CPU, veja na saída de:

$ cat /sys/class/hwmon/hwmon0/name

$ cat /sys/class/hwmon/hwmon1/name

A saída pode ser coretemp, pch_skylake, k10temp, etc, depende do fabricante.

Por exemplo, aqui:

$ cat /sys/class/hwmon/hwmon0/name

pch_skylake

$ cat /sys/class/hwmon/hwmon1/name

coretemp

As saídas acima indicam que pch_skylake é o chipset da placa-mãe e coretemp é a CPU. Compare a saída do comando sensors com as saídas dos comandos cat, o que bater com a saída do comando sensors é a CPU; ou pesquise na internet pelo nome.

A temperatura real da CPU está na saída do comando sensors:
coretemp-isa-0000
Adapter: ISA adapter
Core 0: +46.0°C (high = +105.0°C, crit = +105.0°C)
Core 1: +46.0°C (high = +105.0°C, crit = +105.0°C)


Exemplo funcional do Conky:

${color white}Temperatures:
${color white}Core 0:$color ${hwmon coretemp temp 2}°C
${color white}Core 1:$color ${hwmon coretemp temp 3}°C

Em temp deve ficar temp 2 e temp 3, mas confirme com:

$ cat /sys/class/hwmon/hwmon1/temp*_label

Por exemplo, aqui:

$ cat /sys/class/hwmon/hwmon1/temp*_label

Package id 0
Core 0
Core 1
Core 2
Core 3


temp1 é CPU Package id 0
temp2 é Core 0
temp3 é Core 1
etc...

Use sempre hwmon pelo nome (coretemp, k10temp, etc). Não use hwmon 0, hwmon 1, etc.

Bônus

Mostrar alerta piscando quando a temperatura do SD/HD for maior do que 50°:

${if_match ${execi 60 hddtemp /dev/sda | awk '{print $NF}' | sed 's/[^0-9]//g'} > 50}\
${if_match ${updates} % 2 == 0}${color red}${else}${color yellow}${endif}\
WARNING - HDD TEMPERATURE IS TOO HIGH\
${color}\
${endif}

Alerta da CPU piscando quando a temperatura estiver maior do que 75°C:

${if_match ${execi 5 sensors | awk '/Package id 0/ {print $4}' | sed 's/[+°C]//g'} > 75}\
${if_match ${updates} % 2 == 0}${color red}${else}${color yellow}${endif}\
CUIDADO - A CPU ESTÁ DERRETENDO!!!\
${color}\
${endif}

Em awk '/Package id 0/

Coloque a saída do comando sensors logo após a linha Adapter, por exemplo:
Adapter: ISA adapter
Core 0: +46.0°C (high = +105.0°C, crit = +105.0°C)


Vai awk '/Core 0/.

E em:
Adapter: ISA adapter
Package id 0: +38.0°C (high = +80.0°C, crit = +100.0°C)


Vai awk '/Package id 0/.

Conky estilizado para emitir alertas de acordo com as temperaturas

Regras:
  • < 70 °C = normal (não mostra nada)
  • 70-84 °C = alerta amarelo
  • >= 85 °C = alerta vermelho piscando

${execi 5 sensors | awk '/Core/ {gsub("[+°C]","",$3); sum+=$3; n++} END {if (n>0) printf "%d", sum/n}'}
${if_match ${execi 5 sensors | awk '/Core/ {gsub("[+°C]","",$3); sum+=$3; n++} END {if (n>0) printf "%d", sum/n}'} >= 70}\
${if_match ${execi 5 sensors | awk '/Core/ {gsub("[+°C]","",$3); sum+=$3; n++} END {if (n>0) printf "%d", sum/n}'} >= 85}\
${if_match ${updates} % 2 == 0}${color red}${else}${color}${endif}\
CUIDADO - O PROCESSADOR ESTÁ DERRETENDO!!!\
${else}\
${color yellow}CPU temperature high\
${endif}\
${color}${endif}

Tenha o cuidado de verificar a marca e o modelo do teu processador porque tem processadores que trabalham fácil com 70°C, então adapte o limite do aviso para tuas necessidades, senão o WARNING aparecerá toda hora.
Outras dicas deste autor

Habilitar módulo do kernel (sem o compilar completamente)

Dica para bloquear usuários em domínios após X tentativas com o Samba4

Configurar Postgresql para conectar com senha criptografada

Use o Google PageSpeed Insights para verificar um site

Como resolver o erro no CUPS: Unable to get list of printer drivers

Leitura recomendada

Conky: O que fazer quando os anéis lua não aparecem?

Packet Tracer no Fedora 20

Indeciso entre o Fedora e o Ubuntu? Teste o Fuduntu

SVN/Trac no CentOS 5.5 64 bits

Eterm com transparência no E17 (Enlightenment)

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts