Come posso monitorare la temperatura della CPU su Linux?


136

Come posso monitorare e visualizzare la temperatura della CPU usando Linux?


4
È così bello vedere che domande così brevi, veloci e precise ottengono così tante risposte :-)
Jan Koester,

Risposte:


124

Come altri hanno già notato, è necessario il pacchetto lm-sensors . Ho pensato di ricordare che oltre a installare il pacchetto, è necessario eseguire il comando sensor-detect per identificare i moduli del kernel che devono essere caricati.

Se non l'hai ancora fatto, eseguilo manualmente una volta e controlla se rileva eventuali sensori a bordo del tuo computer.

$ 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 sei fortunato, il tuo laptop supporterà una serie di sensori. In caso contrario, potresti comunque trovare un set base di sensori per 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)                  

2
Se lo vuoi sullo schermo mi piace usare gkrellm che usa i sensori lm per il rilevamento.
Col

1
Se lo vuoi sullo schermo e non vuoi usare gkrellm, puoi anche usare conky.
geek

1
Se sei su un redhat, il tuo pacchetto potrebbe essere chiamato lm_sensors (trattino di sottolineatura invece del trattino normale)
msb,

Stessa cosa su Arch, lo è lm_sensors.
bfontaine,

Voglio solo aggiungere che ho sempre dovuto riavviare dopo aver eseguito il rilevamento del sensore per la prima volta.
Chuck Claunch,

77

Usando 'sensori' (da lm-sensori) e 'guarda' (da procps pkg), è possibile monitorare i dati dei sensori in tempo reale sulla riga di comando tramite:

watch -n 1 -d sensors

Questo visualizzerà i sensori ogni 1 secondo ed evidenzierà la differenza rispetto al secondo precedente.

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

Perché non attraverso la sintassi Fahrenheit?
Jacob Jan Tuinstra,

6
facile, aggiungi un'opzione '-f' al comando sensori sopra
johnnyB

2
Vale la pena notare che è necessario installare il pacchetto lm-sensor affinché funzioni.
William Everett,

24

lm-sensors

Lm-sensori è un pacchetto di monitoraggio dello stato dell'hardware per Linux. Ti consente di accedere alle informazioni dai sensori di temperatura, tensione e velocità della ventola. Funziona con la maggior parte dei sistemi più recenti. Questo pacchetto contiene programmi per aiutarti a configurare e leggere i dati da lm-sensori.

Per installare utilizzare:

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

Usare :

# 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 aggiungi l'applet alla barra delle applicazioni.

inserisci qui la descrizione dell'immagine


Puoi anche provare l'applet computertemp.

Pacchetto Ubuntu

Homepage

Computer Temperature Monitor è una piccola applet per il desktop GNOME che mostra la temperatura della CPU del computer e dei dischi sullo schermo.

Inoltre, consente di registrare le temperature in un file. È possibile impostare allarmi per avvisare quando viene raggiunta una temperatura. Diversi monitor possono essere aggiunti al pannello per monitorare diversi sensori. È progettato per assomigliare all'applet Gnome di frequenza della CPU, quindi si abbinano l'un l'altro sul pannello.

Per installare utilizzare:

sudo apt-get install computertemp

e quindi aggiungere alla barra delle applicazioni

inserisci qui la descrizione dell'immagine


9

Ho un server Dell (Poweredge R420) con Fedora / Red Hat Linux . Ho installato lm_sensors, ma sensorsmi ha dato un messaggio dicendo che i driver del kernel non erano caricati. Ho usato il rilevamento dei sensori per scoprire quale sensore avevo bisogno e alla fine ho avuto bisogno dell'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.

Ho controllato la pagina, che mi ha consigliato di usare ipmitool. L'ho installato, ma non funzionava ancora:

$ 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

Dopo qualche altra ricerca, mi sono imbattuto in questa pagina: http://osdir.com/ml/hardware.ipmitool.devel/2008-02/msg00012.html

Il loro script ipmimod.sh ha funzionato per me:

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

Dopo averlo eseguito, sono finalmente in grado di vedere la temperatura della 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

Spero che questo aiuti chiunque abbia dei server con difficoltà a raggiungere le temperature.


6

Linux ti consente di accedere ai sensori di informazioni sulla temperatura. Funziona con RH6.2x64.

Questo driver contiene supporto di lettura tramite i sensori lm:

genere

modprobe coretemp
sensors

4

Ho scoperto altri software con interfaccia grafica per monitorare le temperature. Il nome del software è: Psensor: https://wpitchoune.net/psensor/

E vedi l'articolo da Internet: https://www.tecmint.com/psensor-monitors-hardware-temperature-in-linux/

Per installare su Ubuntu / Mint, esegui questo comando sul tuo terminale:

sudo apt install psensor

Per eseguire l'applicazione, basta eseguire questo:

sudo psensor

Grazie.


1
Per configurare i sensori, eseguire questo comando e digitare yes per tutte le domande:sudo sensors-detect
Wellington1993,

2

ACPI

Vale la pena menzionare il acpicomando,

acpi -t   # or -V for all

-t | - termica : mostra informazioni termiche

Da apt-cache show acpi:

Descrizione-it: visualizza informazioni sui dispositivi ACPI Tenta di replicare la funzionalità del "vecchio" comando apm sui sistemi ACPI, comprese le informazioni sulla batteria e sul termico .
Non supporta la sospensione ACPI, visualizza solo informazioni sui dispositivi ACPI.

Pagina iniziale: http://sourceforge.net/projects/acpiclient

Su un sistema simile a Ubuntu puoi installarlo con

sudo apt-get install acpi

Nota: puoi monitorare la temperatura con watch -n 1 -d acpi -Vo puoi iniziare a analizzarne l'output (o sensorsquello) con uno script (con o senza il datecomando), aggiungere colori, registrare l'output in un file ...

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


1

È possibile restituire la riga di comando in un file conky per mostrarlo sul salvaschermo. È ancora meno gonfio di un'applet che mangia spazio.

sudo apt-get install conky

Quindi costruisci il file .conkyrc dei tuoi sogni nella cartella / home / user e aggiungilo alle tue applicazioni lanciate all'avvio.

IMP: Vedi tutorial su .conkyrc conky o premade, Ubuntu e thread di forum ubuntu-fr, Lifehacker e altro per configurazioni conky piacevoli.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.