Wiki Ubuntu-it

Indice
Partecipa
FAQ
Wiki Blog
------------------
Ubuntu-it.org
Forum
Chiedi
Chat
Cerca
Planet
  • Pagina non alterabile
  • Informazioni
  • Allegati


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.

  1. Installare il pacchetto acpi.

  2. 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

  1. Installare il pacchetto lm-sensors.

  2. Facoltativo: installare in aggiunta il pacchetto fancontrol, per gestire le ventole secondo le istruzioni indicate in questo paragrafo.

  3. Digitare nel terminale il comando:

    sudo sensors-detect
  4. 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.

  5. 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.

  6. 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.

  1. Solo su Ubuntu 22.04 e successivi, digitare nel terminale il seguente comando:

    sudo add-apt-repository ppa:malcscott/ppa
  2. 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.

  1. Installare il pacchetto nvme-cli.

  2. 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.

  3. 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.

  1. Installare il pacchetto psensor.

  2. Avviare Psensor.

  3. Nella colonna Grafico spuntare i sensori che si desidera monitorare.

  4. 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.

  1. Installare il pacchetto hardinfo.

  2. Avviare il programma System profiler and benchmark.

  3. 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.

  1. 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
  2. Rendere eseguibile lo script, digitando in un terminale il seguente comando:

    sudo chmod +x /etc/init.d/fancontrol
  3. Avviare lo script con il comando:

    /etc/init.d/fancontrol start

    Per interromperlo digitare il comando:

    /etc/init.d/fancontrol stop
  4. 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

Ulteriori risorse


CategoryHardware CategoryAmministrazione