Comment puis-je surveiller la température du processeur sous Linux?

136

Comment surveiller et afficher la température du processeur sous Linux?

chris
la source
4
C'est si agréable de voir que des questions aussi courtes, rapides et précises suscitent tant de réponses :-)
Jan Koester

Réponses:

124

Comme d'autres l'ont noté, vous avez besoin du paquetage lm-sensors . Je pensais devoir mentionner qu'en plus de l'installation du paquet, vous devriez exécuter la commande sensors-detect pour identifier les modules du noyau à charger.

Si vous ne l'avez pas encore fait, exécutez-le manuellement une fois et vérifiez s'il détecte des capteurs à bord de votre ordinateur.

$ 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 vous avez de la chance, votre ordinateur portable supportera une gamme de capteurs. Sinon, vous pouvez toujours trouver un ensemble de capteurs de base pour le 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
la source
2
Si vous le souhaitez à l'écran, j'aime utiliser gkrellm qui utilise des capteurs lm pour la détection.
Col
1
Si vous le souhaitez à l'écran et que vous ne voulez pas utiliser gkrellm, vous pouvez également utiliser conky.
geek
1
Si vous êtes sur un redhat, votre paquet peut s'appeler lm_sensors (trait de soulignement au lieu d'un tiret normal)
msb
Même chose sur Arch, c'est lm_sensors.
bfontaine
Je veux juste ajouter que je dois toujours redémarrer après la détection du capteur pour la première fois.
Chuck Claunch
77

En utilisant les "capteurs" (de lm-capteurs) et "regarder" (de procps pkg), vous pouvez surveiller en temps réel les données des capteurs sur la ligne de commande via:

watch -n 1 -d sensors

Cela affichera les capteurs toutes les 1 s et mettra en évidence la différence par rapport à la seconde précédente.

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
la source
Pourquoi ne pas utiliser la syntaxe Fahrenheit?
Jacob Jan Tuinstra
6
facile, ajoutez une option '-f' à la commande de capteurs ci
johnnyB
2
Il est à noter que vous devez installer le package lm-sensors pour que cela fonctionne.
William Everett
24

capteurs lm

Lm-sensors est un package de surveillance de la santé du matériel pour Linux. Il vous permet d'accéder aux informations des capteurs de température, de tension et de vitesse du ventilateur. Cela fonctionne avec la plupart des systèmes plus récents. Ce paquet contient des programmes pour vous aider à configurer et à lire les données de lm-sensors.

Pour installer utiliser:

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

Utiliser :

# 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 ajoutez l'applet à votre barre des tâches.

entrez la description de l'image ici


Vous pouvez également essayer l'applet computertemp.

Forfait Ubuntu

Page d'accueil

Computer Temperature Monitor est un petit applet pour le bureau GNOME qui indique la température du processeur et des disques de votre ordinateur à l'écran.

Il vous permet également de consigner les températures dans un fichier. Vous pouvez définir des alarmes pour vous avertir quand une température est atteinte. Plusieurs moniteurs peuvent être ajoutés au panneau pour surveiller différents capteurs. Il est conçu pour ressembler à l’applet CPU Frequency Gnome, de sorte qu’ils se correspondent sur le panneau.

Pour installer utiliser:

sudo apt-get install computertemp

puis ajoutez à votre barre des tâches

entrez la description de l'image ici

Lyarwood
la source
9

J'ai un serveur Dell (Poweredge R420) exécutant Fedora / Red Hat Linux . J'ai installé lm_sensors, mais sensorsun message m'a indiqué que les pilotes du noyau n'étaient pas chargés. J'ai utilisé capteurs-detect pour déterminer le capteur dont j'avais besoin et il s'est avéré qu'il me fallait 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.

J'ai vérifié la page, qui m'a conseillé d'utiliser ipmitool. Je l'ai installé, mais ça ne marcherait toujours pas:

$ 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

Après quelques recherches supplémentaires, je suis tombé sur cette page: http://osdir.com/ml/hardware.ipmitool.devel/2008-02/msg00012.html

Leur script ipmimod.sh a fonctionné pour moi:

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

Après avoir exécuté cela, je peux enfin voir la température du processeur:

$ 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

J'espère que cela aide les personnes ayant des serveurs Dell ayant des difficultés à obtenir les températures.

msb
la source
6

Linux vous permet d'accéder aux capteurs d'informations de température. Cela fonctionne avec RH6.2x64.

Ce pilote contient un support de lecture utilisant lm-sensors:

type

modprobe coretemp
sensors
arik android_senior
la source
4

J'ai découvert d'autres logiciels avec interface graphique pour surveiller les températures. Le nom du logiciel est: Psensor: https://wpitchoune.net/psensor/

Et voir l'article sur Internet: https://www.tecmint.com/psensor-monitors-hardware-temperature-in-linux/

Pour installer sur Ubuntu / Mint, exécutez cette commande sur votre terminal:

sudo apt install psensor

Pour exécuter l'application, lancez simplement ceci:

sudo psensor

Merci.

Wellington1993
la source
1
Pour configurer les capteurs, exécutez cette commande et tapez oui pour toutes les questions:sudo sensors-detect
Wellington1993
2

ACPI

Il vaut la peine de mentionner la acpicommande,

acpi -t   # or -V for all

-t | --thermal : affiche les informations thermiques

De apt-cache show acpi:

Description-fr: affiche des informations sur les périphériques ACPI Tente de répliquer les fonctionnalités de la "vieille" commande apm sur les systèmes ACPI, y compris les informations relatives à la batterie et au thermique .
Ne prend pas en charge la suspension ACPI, affiche uniquement des informations sur les périphériques ACPI.

Page d'accueil: http://sourceforge.net/projects/acpiclient

Sur un système de type Ubuntu, vous pouvez l’installer avec

sudo apt-get install acpi

Remarque: vous pouvez surveiller la température avec watch -n 1 -d acpi -Vou vous pouvez commencer à analyser sa sortie (ou celle- sensorsci) avec un script (avec ou sans la datecommande), en ajoutant des couleurs, en enregistrant la sortie dans un fichier ...

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

Hastur
la source
1

Vous pouvez retourner la ligne de commande dans un fichier conky pour l'afficher sur votre économiseur d'écran. Il est toujours moins gonflé qu'un applet mangeur d'espace.

sudo apt-get install conky

Créez ensuite le fichier .conkyrc de vos rêves dans votre dossier / home / user et ajoutez-le à vos applications lancées au démarrage.

IMP: Voir les tutoriels sur les forums conky ou premade .conkyrc, Ubuntu et ubuntu-fr, Lifehacker et autres pour de belles configurations de conky.

zillion
la source