Como posso monitorar a temperatura da CPU no Linux?

136

Como faço para monitorar e exibir a temperatura da CPU usando Linux?

chris
fonte
4
É tão bom ver que tais perguntas curtas, rápidas e precisas obtenha muito resposta :-)
Jan Koester

Respostas:

124

Como outros observaram, você precisa do pacote lm-sensores . Eu pensei em mencionar que, além de instalar o pacote, você deve executar o comando sensores-detect para identificar os módulos do kernel que precisam ser carregados.

Se você não tiver feito isso, execute manualmente uma vez e verifique se ele detectou algum sensor no computador.

$ sudo sensors-detect 
# sensors-detect revision 5249 (2008-05-11 22:56:25 +0200)

This program will help you determine which kernel modules you need
to load to use lm_sensors most effectively. It is generally safe
and recommended to accept the default answers to all questions,
unless you know what you're doing.

We can start with probing for (PCI) I2C or SMBus adapters.
Do you want to probe now? (YES/no): 
Probing for PCI bus adapters...
Use driver `i2c-i801' for device 0000:00:1f.3: Intel 82801G ICH7

We will now try to load each adapter module in turn.
Module `i2c-i801' already loaded.
If you have undetectable or unsupported I2C/SMBus adapters, you can have
them scanned by manually loading the modules before running this script.

We are now going to do the I2C/SMBus adapter probings. Some chips may
be double detected; we choose the one with the highest confidence
value in that case.
If you found that the adapter hung after probing a certain address,
you can specify that address to remain unprobed.

Next adapter: SMBus I801 adapter at 10c0 (i2c-0)
Do you want to scan it? (YES/no/selectively): 
Client found at address 0x50
Probing for `Analog Devices ADM1033'...                     No
Probing for `Analog Devices ADM1034'...                     No
Probing for `SPD EEPROM'...                                 Yes
    (confidence 8, not a hardware monitoring chip)
Probing for `EDID EEPROM'...                                No
Client found at address 0x52
Probing for `Analog Devices ADM1033'...                     No
Probing for `Analog Devices ADM1034'...                     No
Probing for `SPD EEPROM'...                                 Yes
    (confidence 8, not a hardware monitoring chip)
Probing for `EDID EEPROM'...                                No

Some chips are also accessible through the ISA I/O ports. We have to
write to arbitrary I/O ports to probe them. This is usually safe though.
Yes, you do have ISA I/O ports even if you do not have any ISA slots!
Do you want to scan the ISA I/O ports? (YES/no): 
Probing for `National Semiconductor LM78' at 0x290...       No
Probing for `National Semiconductor LM78-J' at 0x290...     No
Probing for `National Semiconductor LM79' at 0x290...       No
Probing for `Winbond W83781D' at 0x290...                   No
Probing for `Winbond W83782D' at 0x290...                   No
Probing for `IPMI BMC KCS' at 0xca0...                      No
Probing for `IPMI BMC SMIC' at 0xca8...                     No

Some Super I/O chips may also contain sensors. We have to write to
standard I/O ports to probe them. This is usually safe.
Do you want to scan for Super I/O sensors? (YES/no): 
Probing for Super-I/O at 0x2e/0x2f
Trying family `National Semiconductor'...                   No
Trying family `SMSC'...                                     Yes
Found unknown chip with ID 0x2803
Probing for Super-I/O at 0x4e/0x4f
Trying family `National Semiconductor'...                   No
Trying family `SMSC'...                                     No
Trying family `VIA/Winbond/Fintek'...                       No
Trying family `ITE'...                                      No

Some south bridges, CPUs or memory controllers may also contain
embedded sensors. Do you want to scan for them? (YES/no): 
Silicon Integrated Systems SIS5595...                       No
VIA VT82C686 Integrated Sensors...                          No
VIA VT8231 Integrated Sensors...                            No
AMD K8 thermal sensors...                                   No
AMD K10 thermal sensors...                                  No
Intel Core family thermal sensor...                         Success!
    (driver `coretemp')
Intel AMB FB-DIMM thermal sensor...                         No

Now follows a summary of the probes I have just done.
Just press ENTER to continue: 

Driver `coretemp' (should be inserted):
  Detects correctly:
  * Chip `Intel Core family thermal sensor' (confidence: 9)

I will now generate the commands needed to load the required modules.
Just press ENTER to continue: 

To load everything that is needed, add this to /etc/modules:

#----cut here----
# Chip drivers
coretemp
#----cut here----

Do you want to add these lines automatically? (yes/NO)

Se você tiver sorte, seu laptop suportará uma variedade de sensores. Caso contrário, você ainda pode encontrar um conjunto básico de sensores para a CPU:

$ sensors
acpitz-virtual-0
Adapter: Virtual device
temp1:       +40.5°C  (crit = +105.0°C)                  

coretemp-isa-0000
Adapter: ISA adapter
Core 0:      +35.0°C  (crit = +100.0°C)                  

coretemp-isa-0001
Adapter: ISA adapter
Core 1:      +40.0°C  (crit = +100.0°C)                  
Nagul
fonte
2
Se você quiser na tela, eu gosto de usar o gkrellm, que usa sensores lm para a detecção.
Col
1
Se você quiser na tela e não quiser usar o gkrellm, também poderá usar o conky.
nerd
1
Se você estiver em um RedHat, o pacote pode ser chamado lm_sensors (sublinhado em vez de corrida regular)
MSB
A mesma coisa em Arch, é lm_sensors.
bfontaine
Só quero acrescentar que eu sempre tive que reiniciar depois de detectar o sensor pela primeira vez.
mandril Claunch
77

Usando 'sensores' (dos lm-sensores) e 'watch' (dos procps pkg), é possível monitorar em tempo real os dados dos sensores na linha de comando via:

watch -n 1 -d sensors

Isso exibirá sensores a cada 1 segundo e destacará a diferença em relação ao segundo anterior.

Every 1.0s: /usr/bin/sensors

...
temp1:       +55C  (high =   +50C, hyst =   +45C)   sensor = thermistor   ALARM
temp2:     +35.0C  (high =   +80C, hyst =   +75C)   sensor = thermistor
temp3:     +35.0C  (high =   +80C, hyst =   +75C)   sensor = thermistor
johnnyB
fonte
Por que não na sintaxe de Fahrenheit?
: 26660 Jan Jacob Tuinstra
6
fácil, adicione uma opção '-f' ao comando de sensores acima
johnnyB
2
Vale ressaltar que você precisa instalar o pacote lm-sensores para que isso funcione.
William Everett
24

sensores lm

Lm-sensores é um pacote de monitoramento de integridade de hardware para Linux. Permite acessar informações de sensores de temperatura, tensão e velocidade do ventilador. Funciona com a maioria dos sistemas mais recentes. Este pacote contém programas para ajudá-lo a configurar e ler dados de lm-sensores.

Para instalar, use:

# sudo apt-get install lm-sensors sensors-applet

Usar :

# sensors-detect
...
# sensors
V1.5:      +2.467 V  (min =  +1.42 V, max =  +1.58 V)   ALARM
VCore:     +1.479 V  (min =  +1.48 V, max =  +1.63 V)   ALARM
V3.3:      +3.373 V  (min =  +3.13 V, max =  +3.47 V)
V5:       +5.000 V  (min =  +4.74 V, max =  +5.26 V)
V12:      +11.734 V  (min = +11.38 V, max = +12.62 V)
CPU_Fan:   2299 RPM  (min = 4000 RPM)                     ALARM
fan2:         0 RPM  (min =    0 RPM)
fan3:      1057 RPM  (min =    0 RPM)
fan4:         0 RPM  (min =    0 RPM)
CPU:      +41.50°C  (low  =   +10°C, high =   +50°C)
Board:    +35.25°C  (low  =   +10°C, high =   +35°C)
Remote:   +35.50°C  (low  =   +10°C, high =   +35°C)     ALARM
CPU_PWM:   144
Fan2_PWM:  112
Fan3_PWM:  112
vid:      +1.550 V  (VRM Version 9.0)

ou adicione o applet à sua barra de tarefas.

insira a descrição da imagem aqui


Você também pode tentar o applet computertemp.

Pacote Ubuntu

Pagina inicial

O Computer Temperature Monitor é um pequeno applet para a área de trabalho do GNOME que mostra a temperatura da CPU e dos discos do computador na tela.

Também permite registrar as temperaturas em um arquivo. Você pode definir alarmes para notificá-lo quando uma temperatura for atingida. Vários monitores podem ser adicionados ao painel para monitorar diferentes sensores. Ele foi projetado para se parecer com o applet CPU Frequency Gnome, para que eles se combinem no painel.

Para instalar, use:

sudo apt-get install computertemp

e depois adicione à sua barra de tarefas

insira a descrição da imagem aqui

lyarwood
fonte
9

Eu tenho um servidor Dell (Poweredge R420) executando o Fedora / Red Hat Linux . Instalei o lm_sensors, mas enviei sensorsuma mensagem informando que os drivers do kernel não foram carregados. Usei sensores-detect para descobrir qual sensor eu precisava e, por fim, precisava de IPMI.

Now follows a summary of the probes I have just done.
Just press ENTER to continue:

Driver `ipmisensors':
  * ISA bus, address 0xca8
    Chip `IPMI BMC KCS' (confidence: 8)

Warning: the required module ipmisensors is not currently installed
on your system. If it is built into the kernel then it's OK.
Otherwise, check http://www.lm-sensors.org/wiki/Devices for
driver availability.

Eu verifiquei a página, que me aconselhou a usar o ipmitool. Eu instalei, mas ainda assim não funcionou:

$ ipmitool sensor
Could not open device at /dev/ipmi0 or /dev/ipmi/0 or /dev/ipmidev/0: No such file or directory
Get Device ID command failed
Unable to open SDR for reading

Depois de mais algumas pesquisas, me deparei com esta página: http://osdir.com/ml/hardware.ipmitool.devel/2008-02/msg00012.html

O script ipmimod.sh funcionou imediatamente para mim:

#!/bin/bash

#IPMI kernel module installer for Redhat-style machines
#dranch-3r7Miqu9kMnR7s880joybQ@xxxxxxxxxxxxxxxx

#07/26/06 - use absolute paths for modprobe
#05/01/06 - orig version

/sbin/modprobe ipmi_devintf

maj=`cat /proc/devices | awk '/ipmidev/{print $1}'`
echo $maj
if [ -c /dev/ipmi0 ]
then
   rm -f /dev/ipmi0
   /bin/mknod /dev/ipmi0 c $maj 0
else
   /bin/mknod /dev/ipmi0 c $maj 0
fi

IPMI_DRIVERS="ipmi_si ipmi_si_drv ipmi_kcs_drv"
for driver in $IPMI_DRIVERS; do
  find /lib/modules/`uname -r`/kernel/drivers/char/ipmi | grep $driver > /dev/null
  RETURN_VALUE=$?
  if [ $RETURN_VALUE -eq 0 ] ; then
    #Here are specific memory locations for Supermicro AOC-type IPMI cards
    /sbin/modprobe $driver type=kcs ports=0xca8 regspacings=4
    break
  fi
done

Depois de executar isso, finalmente consigo ver a temperatura da CPU:

$ ipmitool sensor | grep Temp
Inlet Temp       | 24.000     | degrees C  | ok    | na        | -7.000    | 3.000     | 42.000    | 47.000    | na
Temp             | na         | degrees C  | na    | na        | 3.000     | 8.000     | 77.000    | 83.000    | na
Temp             | na         | degrees C  | na    | na        | 3.000     | 8.000     | 77.000    | 83.000    | na

Espero que isso ajude qualquer pessoa com servidores da dell com dificuldades para obter as temperaturas.

msb
fonte
6

O Linux permite acessar sensores de informações de temperatura. Funciona com RH6.2x64.

Este driver contém suporte de leitura usando sensores lm:

tipo

modprobe coretemp
sensors
arik android_senior
fonte
4

Eu descobri outro software com GUI para monitorar as temperaturas. O nome do software é: Psensor: https://wpitchoune.net/psensor/

E consulte o artigo da Internet: https://www.tecmint.com/psensor-monitors-hardware-temperature-in-linux/

Para instalar no Ubuntu / Mint, execute este comando no seu terminal:

sudo apt install psensor

Para executar o aplicativo, basta executar o seguinte:

sudo psensor

Obrigado.

Wellington1993
fonte
1
Para configurar sensores, execute este comando e digite yes para todas as perguntas:sudo sensors-detect
Wellington1993
2

ACPI

Vale a pena mencionar uma menção ao acpicomando,

acpi -t   # or -V for all

-t --thermal : mostra informações térmicas

De apt-cache show acpi:

Description-pt: exibe informações sobre dispositivos ACPI. Tenta replicar a funcionalidade do comando apm "antigo" nos sistemas ACPI, incluindo informações térmicas e sobre bateria .
Não suporta suspensão ACPI, exibe apenas informações sobre dispositivos ACPI.

Página inicial: http://sourceforge.net/projects/acpiclient

No sistema semelhante ao Ubuntu, você pode instalá-lo com

sudo apt-get install acpi

Nota: você pode monitorar a temperatura com watch -n 1 -d acpi -Vou pode começar a analisar sua saída (ou a sensors) com um script (com ou sem o datecomando), adicionando cores, registrando a saída em um arquivo ...

while [[ 1 ]] ; do acpi -t | awk '{printf ("%2.2f ",$4)}'; date; sleep 1 ; done

Hastur
fonte
1

Você pode retornar a linha de comando em um arquivo conky para mostrá-lo no seu protetor de tela. Ainda é menos inchado do que um applet que consome espaço.

sudo apt-get install conky

Em seguida, construa o arquivo .conkyrc dos seus sonhos na pasta / home / user e adicione-o aos aplicativos lançados no início.

IMP: Veja tutoriais sobre tópicos de fóruns conky ou pré-fabricados .conkyrc, Ubuntu e ubuntu-fr, Lifehacker e muito mais para obter boas configurações de conky.

Zilhão
fonte