Come posso ottenere la temperatura della CPU?


Risposte:


584

Installa i sensori lm Installa i sensori lm

sudo apt-get install lm-sensors 

Dopo l'installazione digitare quanto segue nel terminale

sudo sensors-detect

Potrebbe anche essere necessario eseguire

sudo service kmod start

Ti farà alcune domande. Rispondi Sì per tutti loro. Finalmente per ottenere il tipo di temperatura della CPU sensorsnel tuo terminale.

sensors

Produzione:

$ sensors
coretemp-isa-0000
Adapter: ISA adapter
Core 0:      +41.0°C  (high = +78.0°C, crit = +100.0°C)  

coretemp-isa-0001
Adapter: ISA adapter
Core 1:      +41.0°C  (high = +78.0°C, crit = +100.0°C)  

w83627dhg-isa-0290
Adapter: ISA adapter
Vcore:       +1.10 V  (min =  +0.00 V, max =  +1.74 V)   
in1:         +1.60 V  (min =  +1.68 V, max =  +1.44 V)   ALARM
AVCC:        +3.30 V  (min =  +2.98 V, max =  +3.63 V)   
VCC:         +3.28 V  (min =  +2.98 V, max =  +3.63 V)   
in4:         +1.85 V  (min =  +1.66 V, max =  +1.11 V)   ALARM
in5:         +1.26 V  (min =  +1.72 V, max =  +0.43 V)   ALARM
in6:         +0.09 V  (min =  +1.75 V, max =  +0.62 V)   ALARM
3VSB:        +3.30 V  (min =  +2.98 V, max =  +3.63 V)   
Vbat:        +3.18 V  (min =  +2.70 V, max =  +3.30 V)   
fan1:          0 RPM  (min = 10546 RPM, div = 128)  ALARM
fan2:        892 RPM  (min = 2136 RPM, div = 8)  ALARM
fan3:          0 RPM  (min = 10546 RPM, div = 128)  ALARM
fan4:          0 RPM  (min = 10546 RPM, div = 128)  ALARM
fan5:          0 RPM  (min = 10546 RPM, div = 128)  ALARM
temp1:       +36.0°C  (high = +63.0°C, hyst = +55.0°C)  sensor = diode
temp2:       +39.5°C  (high = +80.0°C, hyst = +75.0°C)  sensor = diode
temp3:      +119.0°C  (high = +80.0°C, hyst = +75.0°C)  ALARM  sensor = thermistor
cpu0_vid:   +2.050 V

Per vedere la temperatura dell'HDD Installare hddtemp Installa hddtemp

sudo apt-get install hddtemp

Produzione:

$ sudo hddtemp /dev/sda        
/dev/sda: ST3160813AS: 34°C

4
Questo non funziona su tutto l'hardware. Sul mio sistema, sensorsmostra sempre una temperatura di + 40,0 ° C.
Keith Thompson,

6
Sul mio sistema 13.04, è sudo service kmod startinvece disudo service module-init-tools start
knb

82
È possibile eseguire watch sensorsper vedere i valori di temperatura aggiornarsi ogni secondo.
Drew Noakes,

16
Dà avvertimenti sull'essere rischioso. Sei sicuro di dover rispondere "si" a tutto? Non credo che abbiano messo quei messaggi lì per divertimento ...
Stommestack,

6
per rispondere sì a tutte le domande di rilevazione dei sensori, corriyes yes | sensors-detect
hanshenrik,

147

Soluzione rapida da riga di comando; mostra la temperatura in millidegree Celsius (m ° C)

cat /sys/class/thermal/thermal_zone*/temp

Applet

Se stai cercando una versione di facile accesso, aggiungi un monitor dei sensori hardware a Gnome-Panel:

  1. sudo apt-get install sensors-applet- questo installerà il pacchetto di sensori-applet Installa sensori-applet
  2. Fare clic con il tasto destro del mouse sul pannello, selezionare Add to panel..., quindi selezionare questo: testo alternativo

  3. Hai finito. È possibile configurare quali sensori vengono visualizzati facendo clic con il pulsante destro del mouse sull'applet e selezionando Preferences->Sensors.

    testo alternativo


12
La tua soluzione da riga di comando potrebbe non funzionare per tutti, perché il percorso sarà diverso per ogni versione del kernel.
karthick87,

3
Sì, non ha funzionato per me.
8128

3
Il mio sistema Ubuntu 12.04 non ha /proc/acpi/thermal_zone/THRM/temperature; in effetti non c'è nulla sotto il /procnome temperature.
Keith Thompson,

13
Questo perché '/ proc' è deprecato; try '/ sys / class / thermal / thermal_zone0 / temp'
mathepic

4
per quali unità cat /sys/class/thermal/thermal_zone0/temp? Puoi convertirlo in C / F? ... Sembra che le prime due cifre siano le prime due cifre che precedono il decimale e le successive sono quelle che seguono il decimale per Celsius.
dylnmc,

104

Un buon indicatore per il monitoraggio della temperatura, della velocità della ventola e della tensione è il psensor . Mostra l'output di tutti i sensori, disegna grafici. Inoltre, le uscite selezionate possono essere inserite nel pannello indicatore.

psensor in azione

Può essere installato dai repository Ubuntu digitando:

sudo apt-get install psensor

Le versioni più recenti di psensor possono essere installate da ppa:

sudo add-apt-repository ppa:jfi/ppa
sudo apt-get update
sudo apt-get install psensor

Può anche disegnare grafici quando si spuntano le caselle nella colonna del grafico:

Immagine dello schermo

Ecco alcune informazioni con più immagini.

Un altro link utile

In alcuni casi non vengono visualizzati tutti i sensori. Quindi puoi correre

sudo sensors-detect

e rispondi "sì" a tutte le domande. Ma in alcuni casi non è del tutto sicuro, ma non ho mai avuto problemi reali. Un modo più sicuro è prendere le risposte predefinite.

Potrebbero apparire alcuni sensori aggiuntivi.


Ora QUESTA è la bomba. Va bene.
SDsolar,

Sul mio Ubuntu 16.04, psensora volte userò il 30% di CPU, aumentando la temperatura.
dirkjot,

2
è un'app di merda. occupa il 100% della CPU
raaj il

Il problema persiste ancora. L'app è inutilizzabile.
Eugene,

@raaj - questo bug è stato segnalato da qualche parte?
Mateusz Konieczny,

54

Temperatura senza app di terze parti

Al momento in cui scrivo, tutte le risposte implicano l'uso di utilità di terze parti. Se vuoi scoprire la temperatura senza installare nulla, usa:

$ cat /sys/class/thermal/thermal_zone*/temp
20000
53000
50000
53000
56000
68000
49000
50000

Per vedere a quali zone si riferiscono le temperature:

$ paste <(cat /sys/class/thermal/thermal_zone*/type) <(cat /sys/class/thermal/thermal_zone*/temp) | column -s $'\t' -t | sed 's/\(.\)..$/.\1°C/'
INT3400 Thermal  20.0°C
SEN1             45.0°C
SEN2             51.0°C
SEN3             57.0°C
SEN4             59.0°C
pch_skylake      77.5°C
B0D4             50.0°C
x86_pkg_temp     51.0°C

Le temperature sono memorizzate in gradi Celsius con 3 decimali impliciti. sedviene utilizzato per "prettificare" l'output.

L'ultima temperatura è x86_pkg_tempriportata a 54.0°C. Per la CPU Skylake i7 6700HQ, ho usato questa temperatura per il display Conky di seguito.

Temperatura con Conky

Se non ti dispiace per le utility di terze parti, mi piace usare Conky, un monitor di sistema leggero.

Comandi Conky

Conky la variabile di sistema che ho usato per monitorare una CPU Ivy Bridge è:

${hwmon 2 temp 1}°C

Per monitorare una CPU Skylake ho usato:

${hwmon 0 temp 1}°C

Display conky

Il display conky si presenta così:

inserisci qui la descrizione dell'immagine

La temperatura inizia a 72 ° C con una singola CPU funzionante al 100% in modalità turbo a 3200 MHz. Quindi il turbo viene spento e la temperatura scende da 10 ° C a 62 ° C con una velocità non turbo di 2600 MHz. 10 secondi dopo il turbo viene riacceso e le temperature aumentano immediatamente fino a 72 ° C.


Temperatura di controllo

Dopo aver conosciuto la tua temperatura, probabilmente vorrai controllarla meglio. tlpfa miracoli per mantenere il sistema sotto controllo. Funziona con thermaldIntel Powerclamp, Batteria vs CA per alimentazione USB, ecc. Sebbene altamente configurabile, non ho mai dovuto modificare le impostazioni di configurazione per una piacevole esperienza immediata. Prima di usarlo ho avuto tutti i tipi di problemi con un laptop IvyBridge che si surriscaldava continuamente. L'ho sul mio nuovo laptop Skylake e i fan non funzionano MAI tranne quando eseguo l'aggiornamento da Ubuntu 16.04 LTS a 18.04.

È possibile ottenere una scrittura molto dettagliata con le istruzioni di installazione qui: interrompere il surriscaldamento della CPU


2
che unità è questa? mele? 1/1000 di ° C? 59/29402 ° di ° F?
phil294,

@Blauhirn Linux sta segnalando la temperatura come "69000" che è 69.000 gradi Celsius. In tutti i miei test è sempre "000" dopo il punto decimale implicito, quindi non sono sicuro del perché Linux lo formatta in questo modo scrollando le spalle . Grazie per il tuo commento, anche se mi ha permesso di aggiornare la visualizzazione conky con la versione corrente.
WinEunuuchs2Unix

la tua citazione dice 48000 ma il tuo testo dice che questo è 57 gradi Celsius? Non ho capito bene.
Sun

@Sun Avevo rigenerato il one-liner usando un nuovo processore e non ho rivisto correttamente la spiegazione. Fisso!
WinEunuuchs2Unix

1
@ncoghlan Grazie. .5appare occasionalmente e le tue sedrevisioni lo gestiranno bene.
WinEunuuchs2Unix,

37

hardinfo Installa hardinfo è uno strumento molto utile per ottenere tutte le informazioni sull'hardware.

Installa le informazioni hard di sudo apt-get install hardinfo. Quindi puoi ottenere la temperatura dai sensori.

sensore


22
Strumento di bell'aspetto, tranne che per ogni singola pagina popolata eccetto i sensori (ad es. È vuoto) ...
frumbert

15
non funzionante per i sensori
Mudit Kapil,

@frumbert Penso che dipenda da lm-sensors!
Pandya,

Mi piace anche il tavolo ARP. Abbastanza utile per verificare ciò che è collegato alla mia sottorete.
SDsolar,

I benchmark sono piuttosto obsoleti in questo programma.
Andriy Makukha,

32
  1. installa il piccolo pacchetto di acpi Installa acpi con questo comando

    sudo apt-get install acpi
    
  2. Dovrai premere Y per confermare per la prima volta. Ora per trovare la temperatura digitare questo comando

    acpi -t
    

23
Questo è più semplice delle risposte su lm-sensors. Potresti spiegare la differenza tra acpie lm-sensors?
fikr4n,

1
Su Ubuntu 16.04, Skylake Laptop, acpi -tnon viene emesso nulla. Si tratta di una valida opzione, semplicemente non funziona - Versione: acpi 1.7.
WinEunuuchs2Unix

Ho usato con successo acpi -tsul sistema live CD grml per monitorare la temperatura di ciascun die di un processore Core i3. lm-sensorsnon è preinstallato su grml e non posso installare altri pacchetti lì. grml.org
Daniel Böhmer

20

XSensors

XSensors legge i dati dalla libreria libsensors riguardanti lo stato dell'hardware come temperatura, tensione e velocità della ventola e visualizza le informazioni in una lettura digitale.

Apri il terminale e digita:

sudo apt-get install xsensors lm-sensors

Quindi rileva i sensori hardware del tuo computer aprendo il terminale ed eseguendo il comando:

sudo sensors-detect

Quindi ti verranno poste molte domande su quale hardware vuoi che il programma rilevi. In genere è sicuro e si consiglia di accettare le risposte predefinite a tutte le domande, a meno che non si sappia cosa si sta facendo.

Schermata XSensors

Xsensors vs. Psensor

XSensors e Psensor monitorano entrambi la temperatura del computer e la velocità della ventola. La differenza tra le due applicazioni sta nel livello di dettaglio delle informazioni visualizzate e nel modo in cui le informazioni vengono visualizzate.

XSensors mostra informazioni un po 'più specifiche di Psensor. Psensor è più piccolo e più discreto di XSensors e si visualizza sul desktop come una piccola icona termometro nell'area di notifica nell'angolo in alto a destra del desktop accanto all'orologio. È possibile fare clic con il pulsante destro del mouse sull'icona del termometro in qualsiasi momento per visualizzare le temperature dell'hardware.

L'impostazione di Psensor per rilevare l'hardware del computer viene eseguita allo stesso modo di Xsensors, installando i sensori lm per rilevare i sensori hardware del computer. Quindi rileva i sensori hardware del tuo computer eseguendo il comando:

sudo sensors-detect  

e come con Xsensors, accetta le risposte predefinite a tutte le domande.

In Ubuntu 16.04 e versioni successive Psensor rileva automaticamente i sensori hardware del computer senza eseguirli sudo sensors-detect


2
Psensor sembra essere più avanzato
Serge

1
Sono d'accordo, @Serge. psensor è quello che sto per usare.
SDsolar,

Uso anche Psensor.
Karel,

17

Dopo aver installato lm-sensor:

sudo apt-get install lm-sensors

correre:

sudo sensors-detect

è possibile eseguire il comando seguente per visualizzare le temp dell'hardware:

watch -n 1 sensors

Inoltre, la ventola è generalmente controllata dal BIOS.


12
mi piace il consiglio sull'uso dell'orologio, è uno dei miei preferiti. consiglio anche di aggiungere l'opzione -d per guardare per evidenziare le differenze.
Joshua K,

Questo mi ha dato 4 core temp reading sul mio i7-3770 su Ubuntu 16.0.4 LTS con CPU al 100% (~ 77 gradi Celsius)
Sun

12

Su Raspberry Pi, puoi recuperare la temperatura usando vcgencmd:

vcgencmd measure_temp

Produzione:

temp=39.0'C

2
No, questo ti darà la frequenza. Usavcgencmd measure_temp
MrD

Siamo spiacenti, un errore copia e incolla molto doloroso :)
Ercksen,

9

Solo per questo, ragazzi, non sensorsè necessaria nessuna di queste installazioni indesiderate . Basta fare an acpi -Ve BOOM, hai tutto. Esempio:

Battery 0: Charging, 91%, 00:17:25 until charged
Battery 0: design capacity 3310 mAh, last full capacity 3309 mAh = 99%
Adapter 0: on-line
Thermal 0: ok, 40.0 degrees C
Thermal 0: trip point 0 switches to mode critical at temperature 127.0 degrees C
Thermal 0: trip point 1 switches to mode hot at temperature 127.0 degrees C
Cooling 0: pkg-temp-0 no state information available
Cooling 1: LCD 0 of 100
Cooling 2: Processor 0 of 10
Cooling 3: Processor 0 of 10
Cooling 4: Processor 0 of 10
Cooling 5: Processor 0 of 10

MODO più facile che installare tutto questo e kmod ... Basta fare acpi -V.


25
Giusto ... perché non devi installarlo? Sbagliato! The program 'acpi' is currently not installed. You can install it by typing: sudo apt-get install acpi
e-sushi,

8
Inoltre, non sempre fornisce le stesse informazioni. Sulla mia macchina, sensorsfornisce la temperatura mentre acpi -Vsfortunatamente non mostra nulla al riguardo.
Per Lundberg,

1
acpi -Vè rotto per il laptop Skylake, Ubuntu 16.04, acpi versione 1.7
WinEunuuchs2Unix

5
/sys/class/thermal/thermal_zone0/temp

questo file contiene la temperatura della CPU. Quindi, puoi creare uno script chiamato tempe spostarlo su /binpoi nel terminale invio temp.

Il mio tempfile sembra:

 #!/bin/bash
 cpu_temp=$(< /sys/class/thermal/thermal_zone0/temp)
 cpu_temp=$(($cpu_temp/1000))
 echo $cpu_temp°C

la mia risposta è modificata su www.cyberciti.biz


Ho provato 4 macchine in posizioni diverse e tutte danno la stessa lettura = 27800. Sai perché potrebbe essere? Non possono avere tutti la stessa temperatura della CPU.
Katu

@Katu Penso che potrebbe significare 27,8 gradi. Ho usato un altro programma e ho scoperto che il mio Core 0 era 49 C. Quindi ho eseguito il comando sopra e ho ottenuto 49000.
Philip Kirkbride,

5

Tutti bash:

getTemp () {
  for zone in `ls /sys/class/thermal/ | grep thermal_zone`
  do
    echo -n "`cat /sys/class/thermal/$zone/type`: "
    echo `cat /sys/class/thermal/$zone/temp | sed 's/\(.\)..$/.\1°C/'`
  done
}

getProcesses() {
  top -b -n 1 | head -n 12  | tail -n 6
}

update () {
  while :
  do
    clear
    getTemp
    echo -e "\nTop 5 CPU hogs:"
    getProcesses
    sleep 5
  done
}


update

1
In realtà è una sceneggiatura piuttosto buona.
Philippe Delteil,

4

Se ti piace Python, puoi usarlo psutil.

>>> import psutil
>>> psutil.sensors_temperatures()['coretemp']
[shwtemp(label='Physical id 0', current=67.0, high=100.0, critical=100.0), shwtemp(label='Core 0', current=67.0, high=100.0, critical=100.0), shwtemp(label='Core 1', current=65.0, high=100.0, critical=100.0)]

... farà il lavoro. Con un po 'di codice, puoi ad esempio ottenere la CPU rispetto alla CPU del tuo sistema.

inserisci qui la descrizione dell'immagine

È conveniente aggiornare psutilemettendo sudo pip3 install psutil --upgrade.


L'ho su Python 2 ma non ha un sensors_temperaturesattributo e non lo ho su Python 3. Sto usando Ubuntu 14.04. Quindi come posso ottenerlo?
wjandrea,

quale versione di psutil stai usando? il mio è 5.4.3. Provate voi aggiornare la versione: sudo pip2 install psutil --upgrade.
Lucas Aimaretto,

1
Sto usando 1.2.1 su Python 2 e l'aggiornamento non riesce (ma Python 2 su 14.04 è davvero obsoleto, quindi non mi preoccupo). Ho appena installato 5.4.3 su Python 3 con sudo pip3 install psutil --upgrade. Potresti aggiungerlo alla tua risposta?
wjandrea,

Su quel grafico, l'asse x è l'utilizzo della CPU, giusto?
wjandrea,

1
ottima risposta (+1) - psutil è una gemma. È vergognoso che non copre la temperatura dell'HDD
WoJ,

2

computertemp Installa computertemp è un semplice applet che mostra la temperatura attuale della CPU + ha alcune funzionalità aggiuntive come gli allarmi. Sfortunatamente non è possibile (o almeno non so come) cambiarne il colore di sfondo, quindi non ha un bell'aspetto con il tema standard di Ubuntu.

Può essere installato nello stesso modo dell'applet dei sensori descritto nella risposta di evgeny .


Testo alternativo

computertemp non è disponibile nei repository Ubuntu più recenti.


2
in Ubuntu 15.04 sudo apt-get install computertemprisulta l'errore "Impossibile trovare il pacchetto computertemp" ...
Nicolas Ivanov,

1
printf '%d°\n' $(sensors | grep 'id 0:' | awk '{ print $4 }') 2>/dev/null
55°

printf '% d \ n' Converte il valore in numero intero nel caso sia necessario come numero tondo


1
Perché echo $(printf ..)e non solo printf '%d°\n' $(sensors | grep 'id 0:' | awk '{ print $4 }') 2>/dev/null? ... O anche solosensors 2>/dev/null | awk '/id 0:/{printf "%d°\n", $4}'
muru

Sì, molte possibilità, ho appena pubblicato quello che stavo usando
intika

1

Se si utilizza Ubuntu con MATE Desktop Environment, è possibile utilizzare l'applet MATE Sensors:

  1. Installa il pacchetto:

    sudo apt-get install mate-sensors-applet
    

    E se hai una scheda grafica Nvidia puoi anche installare il mate-sensors-applet-nvidiapacchetto.

  2. Fai clic con il pulsante destro del mouse sul pannello MATE e fai clic su Aggiungi al pannello, quindi scegli Hardware Sensors Monitor

    Monitor dei sensori hardware

  3. Dopo averlo aggiunto puoi configurarlo facendo clic con il tasto destro su qualsiasi sensore e selezionando Preferenze

    Preferenze Monitor dei sensori hardware

    Qui è possibile personalizzare l'elenco dei sensori: temperatura CPU, scheda madre e GPU, tensioni principali (Vcore, 3.3V, 5V, 12V, ecc.) E velocità della ventola. L'elenco completo dipende dall'hardware (l'immagine sopra è per desktop con scheda grafica Nvidia).

  4. Il risultato sarà simile

    sensori

Ovviamente puoi spostare questa applet nella posizione migliore.


0

Esistono molti luoghi diversi in cui potresti trovare la temperatura indicata in millidegree. Finalmente ho trovato il mio qui:

/sys/devices/platform/coretemp.0/temp*_input

Ecco alcuni altri luoghi in cui gli utenti hanno riferito di aver trovato la loro temperatura

/proc/acpi/thermal_zone/THRM/temperature
/sys/class/thermal/thermal_zone*/temp
/sys/class/thermal/cooling_device*/temp
/sys/devices/platform/f71882fg.1152/temp*_input
/sys/devices/platform/coretemp.0/hwmon/hwmon*/temp*_input

Alcuni di questi sono solo collegamenti simbolici agli altri. Potrebbe essere necessario guardare attentamente per trovarlo


0

Solo per CPU Intel È possibile utilizzare i7z.

i7z - Uno strumento di reporting i7 (e ora i3, i5) migliore per Linux.

Installalo:

sudo apt install i7z 

Quindi eseguirlo (deve essere eseguito con sudo):

sudo i7z

Esempio di output (vedi Tempcolonna - scorri verso destra ...):

Real Current Frequency 4883.47 MHz [99.98 x 48.85] (Max of below)
    Core [core-id]  :Actual Freq (Mult.)      C0%   Halt(C1)%  C3 %   C6 %  Temp      VCore
    Core 1 [0]:       4883.47 (48.85x)      10.4    73.7    1.45    12.8    47      1.3547
    Core 2 [1]:       4871.56 (48.73x)      8.65    76.8     1.5    11.7    45      1.3547
    Core 3 [2]:       4877.61 (48.79x)      12.2    75.1       1    9.72    52      1.3547
    Core 4 [3]:       4880.70 (48.82x)      7.57    79.7       1    10.5    47      1.3547
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.