Guida verificata con Ubuntu: 20.04 22.04
Problemi in questa pagina? Segnalali in questa discussione
Introduzione
Questa guida contiene una raccolta, non esaustiva, di strumenti per monitorare le temperature dei dispositivi hardware presenti nel proprio computer, nonché altri valori (tensioni, velocità delle ventole ecc.).
Le seguenti informazioni sono valide per Ubuntu e derivate, oltre che per le principali distribuzioni GNU/Linux.
Le informazioni e i sensori disponibili dipendono dal tipo di hardware in uso.
Informazioni generali
Solitamente i sistemi GNU/Linux permettono di controllare e gestire ampiamente le risorse hardware, ragion per cui sono già presenti "out of the box" strumenti per visualizzare le temperature.
Nel dettaglio, la directory /sys contiene moltissimi dati relativi al kernel, ai moduli e all'hardware. In particolare /sys/class/thermal è deputata alle informazioni riguardanti le temperature. Perciò è possibile consultare file quali:
/sys/class/thermal/thermal_zone0/temp contenente la temperatura della CPU, espressa in gradi Celsius tramite numeri interi divisibili per 100 (es: 36000 = 36°C)
/sys/class/thermal/thermal_zone0/type contenente il valore corrispondente alla zona in cui la temperatura è rilevata (un esempio tipico è il sensore termico acpitz, situato accanto il socket della CPU)
Per semplificare e rendere facilmente consultabili queste informazioni, è possibile creare un semplice script che contenga il seguente comando:
paste <(cat /sys/class/thermal/thermal_zone*/type) <(cat /sys/class/thermal/thermal_zone*/temp) | column -s $'\t' -t | sed 's/\(.\)..$/.\1°C/'
L'output sarà simile al seguente:
acpitz 38.0°C acpitz . °C acpitz 30.0°C acpitz 32.0°C acpitz 31.0°C acpitz . °C pch_skylake 36.5°C iwlwifi_1 33.0°C x86_pkg_temp 38.0°C
Riga di comando
acpi
acpi è uno strumento per visualizzare lo stato della batteria e altre informazioni ACPI, in grado anche di mostrare le temperature del PC.
Installare il pacchetto acpi.
Per eseguire il programma digitare nel terminale il comando:
acpi -t
Il risultato sarà simile al seguente:
Thermal 0: ok, 30.8 degrees C Thermal 1: ok, 29.8 degrees C
lm-sensors
lm-sensors è uno strumento più completo, in grado di mostrare temperatura della/e CPU, della MOBO, della GPU, la velocità di rotazione delle ventole e le tensioni di alimentazione dei componenti principali.
Negli anni ci sono state sporadiche segnalazioni di problemi causati da lm-sensors, fra cui kernel panic, presunti danni hardware a vecchie schede madri AM2RD790 e malfunzionamenti con display e/o schede video (reversibili).
Tuttavia, nella stragrande maggioranza dei casi, occorre fare attenzione solamente alla parte relativa a I2C/SMBus, come indicato dal programma stesso.
Per maggiori informazioni consultare la sezione TROUBLESHOOTING del file README disponibile sulla pagina GitHub del progetto.
Installazione
Installare il pacchetto lm-sensors.
Facoltativo: installare in aggiunta il pacchetto fancontrol, per gestire le ventole secondo le istruzioni indicate in questo paragrafo.
Digitare nel terminale il comando:
sudo sensors-detect
Seguendo le istruzioni a video, rispondere Yes alle domande che verranno proposte, ad esclusione della domanda riguardante I2C/SMBus alla quale si dovrà rispondere No.
In caso di errore, è possibile ripetere la procedura e rispondere Yes alla domanda precedente.
Al termine della procedura, lo script restituirà un output simile al seguente:
Driver `coretemp': * Chip `Intel digital thermal sensor' (confidence: 9) To load everything that is needed, add this to /etc/modules: #----cut here---- # Chip drivers coretemp #----cut here---- If you have some drivers built into your kernel, the list above will contain too many modules. Skip the appropriate ones! Do you want to add these lines automatically to /etc/modules? (yes/NO)
Rispondere Yes anche a quest'ultima domanda, in modo che i moduli necessari vengano caricati al prossimo avvio del computer.
- Riavviare il PC.
Prima dell'ultimo passaggio, è possibile eseguire la procedura con alcune variazioni, fra cui:
Modulo drivetemp: per aggiungere questo modulo al fine di visualizzare le temperature di HDD e SSD (utile per Ubuntu 22.04, in cui non è disponibile hddtemp), digitare il comando:
sudo modprobe -v drivetemp
Procedura senza riavvio: qualora non fosse possibile riavviare il sistema, caricare tutti i moduli necessari (come suggerito anche da lm-sensors) con il comando:
/etc/init.d/kmod start
oppure caricare singolarmente i moduli con il comando:
sudo modprobe nome_modulo
sostituendo nome_modulo con uno dei moduli visualizzati dopo il punto 5 della procedura. Ripetere il comando precedente per ognuno dei moduli indicati.
Utilizzo
Avviare il programma digitando il seguente comando:
sensors
Il risultato sarà simile al seguente:
k8temp-pci-00c3 Adapter: PCI adapter Core0 Temp: +23°C Core1 Temp: +19°C it8716-isa-0290 Adapter: ISA adapter VCore: +1.18 V (min = +0.00 V, max = +4.08 V) VDDR: +3.25 V (min = +0.00 V, max = +4.08 V) +3.3V: +0.00 V (min = +0.00 V, max = +4.08 V) ALARM +5V: +4.81 V (min = +0.00 V, max = +6.85 V) +12V: +11.58 V (min = +0.00 V, max = +16.32 V) in5: +0.00 V (min = +0.00 V, max = +4.08 V) ALARM in6: +0.00 V (min = +0.00 V, max = +4.08 V) ALARM 5VSB: +4.84 V (min = +0.00 V, max = +6.85 V) VBat: +2.94 V fan1: 0 RPM (min = 0 RPM) fan2: 0 RPM (min = 0 RPM) fan3: 0 RPM (min = 0 RPM) temp1: +30°C (low = -1°C, high = +127°C) sensor = diode temp2: +30°C (low = -1°C, high = +127°C) sensor = thermistor temp3: -7°C (low = -1°C, high = +127°C) sensor = thermistor vid: +1.300 V acpitz-virtual-0 Adapter: Virtual device temp1: +49.0°C (crit = +95.0°C) coretemp-isa-0000 Adapter: ISA adapter Core 0: +59.0°C (crit = +100.0°C) coretemp-isa-0001 Adapter: ISA adapter Core 1: +57.0°C (crit = +100.0°C)
hddtemp
È uno strumento per visualizzare le temperature di dischi rigidi e drive a stato solido SATA.
Poiché non mantenuto più da tempo, è stato rimosso dai repository di Ubuntu. Per maggiori informazioni consultare questa pagina.
Solo su Ubuntu 22.04 e successivi, digitare nel terminale il seguente comando:
sudo add-apt-repository ppa:malcscott/ppa
Installare il pacchetto hddtemp.
Per utilizzare il programma digitare il comando:
sudo hddtemp /dev/sd?
L'output sarà simile al seguente:
/dev/sda: WDC WD1600BEVT-22ZCT0: 42°C /dev/sdb: MAXTOR STM3320820AS: S.M.A.R.T. not available
nvme-cli
nvme-cli è uno strumento per gestire drive di tipo NVMe su sistemi GNU/Linux.
Installare il pacchetto nvme-cli.
Per identificare i drive presenti, digitare nel terminale il comando:
sudo nvme list
L'output mostrerà le informazioni relative al dispositivo (modello, numero seriale, spazio utilizzato ecc.). Prendere nota del valore nella colonna Node.
Digitare il comando:
sudo nvme smart-log /dev/nvme0n1 | grep temperature
sostituendo /dev/nvme0n1 se differente. L'output sarà simile al seguente:
temperature : 34 C (308 Kelvin)
HardInfo
Per l'installazione consultare il relativo paragrafo.
Per l'utilizzo del programma via terminale, digitare il comando:
hardinfo -rma devices.so | grep -A 10 Sensors
A seconda delle periferiche presenti nel computer e/o della loro tipologia, potrebbe essere necessario utilizzare l'opzione di grep con un valore superiore a 10 (ad esempio 40, 50 ecc.).
Interfaccia grafica
Diversi programmi con GUI per identificare le periferiche offrono anche la possibilità di visualizzarne le temperature. Consultare questa guida.
Psensor
Psensor permette di monitorare, oltre alle temperature, altre informazioni quali la velocità delle ventole, carico di CPU/GPU ecc.
Installare il pacchetto psensor.
Avviare Psensor.
Nella colonna Grafico spuntare i sensori che si desidera monitorare.
Per altre configurazioni selezionare il menu Psensor → Preferenze.
xensors
È un semplice programma in grado di visualizzare valori quali temperatura o tensioni di CPU, scheda madre, schede di rete ecc., a seconda di quali sensori sono presenti e attivati,
Installare il pacchetto xsensor.
Dopo l'installazione sarà possibile avviare il programma.
HardInfo
HardInfo è in grado di visualizzare numerose informazioni sull'hardware e sul sistema operativo, di elencare dispositivi connessi, di eseguire benchmarks ecc.
Installare il pacchetto hardinfo.
Avviare il programma System profiler and benchmark.
Per il monitoraggio delle temperature, nella scheda a sinistra selezionare Sensors all'interno della sezione Devices.
Gnome Disks Utility
L'applicazione Dischi è in grado di visualizzare le temperature dei drive presenti all'interno del PC, se supportati. Per maggiori informazioni consultare la guida dedicata.
Plugin, indicatori, widget ecc.
Molti ambienti desktop offrono vari strumenti per monitorare le temperature. Di seguito ne vengono citati alcuni.
GNOME: sono disponibili diverse estensioni (Freon, Sensory Perception, system-monitor, Vitals ecc.). Cercare sul sito GNOME Extensions una compatibile con la versione di GNOME shell in uso.
KDE: le temperature della CPU sono visualizzabili con lo strumento preinstallato Plasma-Systemmonitor, seguendo il percorso Menù K → Sistema → Monitor di sistema. Inoltre sono disponibili diverse applet per monitorare le temperature (cercare su questo sito una compatibile con la versione di Plasma in uso).
Xfce: è possibile installare il pacchetto xfce4-sensors-plugin. Fare riferimento alla pagina ufficiale del progetto per maggiori informazioni.
MATE: è possibile installare il pacchetto mate-sensors-applet. Fare riferimento alla pagina GitHub del progetto per maggiori informazioni.
Cinnamon: sono disponibili diverse applet ed estensioni per monitorare le temperature. Cercare su questo sito.
Conky
Conky è in grado di monitorare i sensori presenti sul proprio computer. Per maggiori informazioni consultare la guida dedicata.
Controllo delle ventole (20.04)
Come prerequisito, occorre installare fancontrol, come descritto in questo paragrafo.
Per controllare le ventole e la scheda madre, digitare nel terminale il seguente comando:
sudo pwmconfig
Le ventole verranno monitorate e sarà possibile modificarne la velocità. Nel caso in cui sia possibile il controllo totale, cioè fermare del tutto le ventole, è possibile creare un semplice script da lanciare all'avvio per un'ottimizzazione delle stesse.
L'arresto completo delle ventole può arrecare gravi danni all'hardware oppure, indirettamente, perdita di dati. Procedere con molta cautela.
Creare con un editor di testo e con i privilegi di amministrazione il file /etc/init.d/fancontrol e aggiungere le seguenti righe:
#!/bin/sh # # Fancontrol start script. # set -e # Defaults DAEMON=/usr/sbin/fancontrol PIDFILE=/var/run/fancontrol-pid PATH=/sbin:/bin:/usr/sbin:/usr/bin test -f $DAEMON || exit 0 . /lib/lsb/init-functions case "$1" in start) log_begin_msg "Starting fancontrol daemon..." start-stop-daemon --start -o -q -m -b -p $PIDFILE -x $DAEMON log_end_msg $? ;; stop) log_begin_msg "Stopping fancontrol daemon..." start-stop-daemon --stop -o -q -p $PIDFILE log_end_msg $? ;; force-reload|restart) sh $0 stop sh $0 start ;; *) log_success_msg "Usage: /etc/init.d/fancontrol {start|stop|restart|force-reload}" log_success_msg " start - starts system-wide fancontrol service" log_success_msg " stop - stops system-wide fancontrol service" log_success_msg " restart, force-reload - starts a new system-wide fancontrol service" exit 1 ;; esac exit 0
Rendere eseguibile lo script, digitando in un terminale il seguente comando:
sudo chmod +x /etc/init.d/fancontrol
Avviare lo script con il comando:
/etc/init.d/fancontrol start
Per interromperlo digitare il comando:
/etc/init.d/fancontrol stop
Se l'output non restituisce alcun errore, aprire il file /etc/rc.local con un editor di testo e i privilegi di amministrazione, quindi aggiungere la seguente riga:
/etc/init.d/fancontrol start
in modo da ottenere un codice simile al seguente:
#!/bin/sh -e # # rc.local # # This script is executed at the end of each multiuser runlevel. # Make sure that the script will "exit 0" on success or any other # value on error. # # In order to enable or disable this script just change the execution # bits. # # By default this script does nothing. /etc/init.d/fancontrol start exit 0