¿Cómo puedo controlar la temperatura de la CPU en Linux?

136

¿Cómo monitorizo ​​y visualizo la temperatura de la CPU usando Linux?

Chris
fuente
44
Es agradable ver que preguntas tan cortas, rápidas y precisas obtienen tanta respuesta :-)
Jan Koester

Respuestas:

124

Como otros han notado, necesita el paquete lm-sensores . Pensé que debería mencionar que, además de instalar el paquete, debe ejecutar el comando sensores-detectar para identificar los módulos del núcleo que deben cargarse.

Si no lo ha hecho, ejecútelo manualmente una vez y verifique si detecta algún sensor a bordo de su computadora.

$ 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)

Si tiene suerte, su computadora portátil admitirá una variedad de sensores. Si no, aún puede encontrar un conjunto básico de sensores para la 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
fuente
2
Si lo quieres en la pantalla, me gusta usar gkrellm que usa sensores lm para la detección.
Col
1
Si lo quieres en la pantalla y no quieres usar gkrellm, también puedes usar conky.
geek
1
Si usa un sombrero rojo, su paquete puede llamarse lm_sensors (guión bajo en lugar de guión normal)
msb
Lo mismo en Arch, es lm_sensors.
bfontaine
Solo quiero agregar que siempre tuve que reiniciar después de detectar el sensor por primera vez.
Chuck Claunch
77

Usando 'sensores' (de lm-sensores) y 'watch' (de procps pkg), puede monitorear en tiempo real los datos de los sensores en la línea de comando a través de:

watch -n 1 -d sensors

Esto mostrará los sensores cada 1 segundo y resaltará la diferencia con respecto al 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
fuente
¿Por qué no a través de la sintaxis Fahrenheit?
Jacob Jan Tuinstra
66
fácil, agregue una opción '-f' al comando de sensores anterior
johnnyB
2
Vale la pena señalar que necesita instalar el paquete lm-sensores para que esto funcione.
William Everett
24

sensores-lm

Lm-sensores es un paquete de monitoreo de salud de hardware para Linux. Le permite acceder a la información de los sensores de temperatura, voltaje y velocidad del ventilador. funciona con la mayoría de los sistemas más nuevos. Este paquete contiene programas para ayudarlo a configurar y leer datos de sensores-lm.

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)

o agregue el applet a su barra de tareas.

ingrese la descripción de la imagen aquí


También puede probar el applet computertemp.

Paquete Ubuntu

Página principal

Computer Temperature Monitor es un pequeño applet para el escritorio GNOME que muestra la temperatura de la CPU y los discos de la computadora en la pantalla.

También le permite registrar temperaturas en un archivo. Puede configurar alarmas para que le notifiquen cuando se alcanza una temperatura. Se pueden agregar varios monitores al panel para monitorear diferentes sensores. Está diseñado para parecerse al applet CPU Frequency Gnome, por lo que coinciden entre sí en el panel.

Para instalar use:

sudo apt-get install computertemp

y luego agregar a su barra de tareas

ingrese la descripción de la imagen aquí

Lyarwood
fuente
9

Tengo un servidor Dell (Poweredge R420) que ejecuta Fedora / Red Hat Linux . Instalé lm_sensors, pero sensorsme dio un mensaje diciendo que los controladores del kernel no estaban cargados. Utilicé sensores para detectar qué sensor necesitaba, y resultó que necesitaba 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.

Revisé la página, que me aconsejó usar ipmitool. Lo instalé, pero aún así no funcionaría:

$ 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

Después de un poco más de investigación, me encontré con esta página: http://osdir.com/ml/hardware.ipmitool.devel/2008-02/msg00012.html

Su script ipmimod.sh funcionó de manera inmediata para mí:

#!/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

Después de ejecutar eso, finalmente puedo ver la temperatura de la 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 esto ayude a cualquiera con servidores Dell que tengan dificultades para obtener las temperaturas.

msb
fuente
6

Linux le permite acceder a sensores de información de temperatura. Funciona con RH6.2x64.

Este controlador contiene soporte de lectura usando sensores lm:

tipo

modprobe coretemp
sensors
arik android_senior
fuente
4

Descubrí otro software con interfaz gráfica de usuario para controlar las temperaturas. El nombre del software es: Psensor: https://wpitchoune.net/psensor/

Y vea el artículo de Internet: https://www.tecmint.com/psensor-monitors-hardware-temperature-in-linux/

Para instalar en Ubuntu / Mint, ejecute este comando en su terminal:

sudo apt install psensor

Para ejecutar la aplicación, simplemente ejecute esto:

sudo psensor

Gracias.

Wellington1993
fuente
1
Para configurar los sensores, ejecute este comando y escriba yes para todas las preguntas:sudo sensors-detect
Wellington1993
2

ACPI

Vale la pena mencionar el acpicomando,

acpi -t   # or -V for all

-t | --termal : muestra información térmica

De apt-cache show acpi:

Descripción-es: muestra información en dispositivos ACPI Intenta replicar la funcionalidad del comando "antiguo" apm en sistemas ACPI, incluyendo información de batería y térmica .
No admite la suspensión de ACPI, solo muestra información sobre los dispositivos ACPI.

Página de inicio: http://sourceforge.net/projects/acpiclient

En un sistema similar a Ubuntu, puede instalarlo con

sudo apt-get install acpi

Nota: puede controlar la temperatura con watch -n 1 -d acpi -Vo puede comenzar a analizar su salida (o la que sensorsestá) con un script (con o sin el datecomando), agregar colores, registrar la salida en un archivo ...

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

Hastur
fuente
1

Puede devolver la línea de comando en un archivo conky para mostrarla en su protector de pantalla. Todavía está menos hinchado que un applet para comer espacio.

sudo apt-get install conky

Luego construya el archivo .conkyrc de sus sueños en su carpeta / home / user y agréguelo a sus aplicaciones iniciadas al inicio.

IMP: vea tutoriales sobre conky o preconfeccionados .conkyrc, hilos de foros de Ubuntu y ubuntu-fr, Lifehacker y más para configuraciones agradables de conky.

trillón
fuente