659 votes

Comment obtenir la température du CPU ?

Comment obtenir la température du CPU ?

6 votes

10voto

David Hamner Points 201

Tous les 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

2 votes

C'est en fait un assez bon script.

0 votes

Cela a très bien fonctionné !

8voto

Lucas Aimaretto Points 353

Si vous aimez Python, vous pouvez utiliser 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)]

... fera l'affaire. Avec un peu de codage, vous pouvez par exemple obtenir la Temp vs CPU de votre système.

enter image description here

Il est pratique de mettre à jour psutil en émettant sudo pip3 install psutil --upgrade .

0 votes

Je l'ai installé sur Python 2, mais il n'y a pas d'outil de gestion de la qualité. sensors_temperatures et je ne l'ai pas sur Python 3. J'utilise Ubuntu 14.04. Alors comment puis-je l'obtenir ?

0 votes

Quelle version de psutil utilisez-vous ? La mienne est 5.4.3. Essayez de mettre à jour votre version : sudo pip2 install psutil --upgrade .

1 votes

J'utilise 1.2.1 sur Python 2, et la mise à jour échoue (mais Python 2 sur 14.04 est vraiment dépassé, donc je ne suis pas concerné). Je viens d'installer 5.4.3 sur Python 3 avec sudo pip3 install psutil --upgrade . Pouvez-vous ajouter cela à votre réponse ?

6voto

alhelal Points 2333
/sys/class/thermal/thermal_zone0/temp

ce fichier contient la température du processeur. Donc, vous pouvez faire un script< nommé temp et le déplacer vers /bin puis dans le terminal, entrez temp .

Mon temp ressemble à -

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

ma réponse est modifiée de www.cyberciti.biz

0 votes

J'ai essayé 4 machines dans différents endroits et elles donnent toutes la même lecture = 27800. Savez-vous pourquoi cela peut être le cas ? Elles ne peuvent pas toutes avoir la même température de processeur.

0 votes

@Katu Je pense que cela pourrait signifier 27,8 degrés. J'ai utilisé un autre programme et j'ai trouvé que mon Core 0 était de 49 C. Puis j'ai fait la commande ci-dessus et j'ai obtenu 49000.

4voto

gmagno Points 195

Et voici mon avis sur la question. Il y a tmon un outil très simple qui lit la température pendant l'exécution d'un autre processus, tout comme time , watch , timeout etc... tmon est une enveloppe mince autour de /sys/class/thermal/thermal_zone*/temp Il peut être utile pour surveiller la température de votre ordinateur/serveur Linux lors de l'exécution de processus intensifs en termes de CPU : simulation, jeux, etc...

Vous pouvez télécharger le "binaire" .AppImage à partir d'ici : https://github.com/gmagno/tmon/releases et l'exécuter immédiatement et commodément, c'est-à-dire :

Installer

wget https://github.com/gmagno/tmon/releases/download/v0.3.7/tmon-a461481-x86_64.AppImage
chmod +x tmon*.AppImage
# optional: you may put it somewhere convenient in your file system and add a symlink in /usr/local/bin/tmon

ou si vous préférez :

pip install tmonpy

Utilisation

./tmon*.AppImage -h

Exemples

./tmon*.AppImage echo "Quick programs return a single value of temperature"
Quick programs return a single value of temperature

===================
Temp Monitor Report:

   Temp (°C) for a period of 0:00:00
   >> 58.0 °C <<

   /tmp/tmon-20200207@16h07m05-znn0x1o9.txt
===================

./tmon*.AppImage bash -c 'echo not so quick ones will show a chart; sleep 6'
not so quick ones will show a chart

===================
Temp Monitor Report:

   Temp (°C) for a period of 0:00:06
   60.00  
   59.86  
   59.71  
   59.57  
   59.43  
   59.29  
   59.14  
   59.00     
   58.86     
   58.71     
   58.57     
   58.43     
   58.29     
   58.14     
   58.00  

   >> min: 58.0 °C <<
   >> avg: 58.4 °C <<
   >> max: 59.0 °C <<

   /tmp/tmon-20200207@16h08m25-p010ojhq.txt
===================

vous pouvez aussi simplement exécuter tmon sans aucun argument et il s'exécutera comme vous vous y attendez. Appuyez sur Ctrl-C pour terminer le processus et obtenir un rapport de température.

./tmon*.AppImage  # and wait a few seconds before pressing Ctrl-C
^C

===================
Temp Monitor Report:

   Temp (°C) for a period of 0:00:08
   60.00  
   59.71  
   59.43  
   59.14  
   58.86    
   58.57    
   58.29    
   58.00  
   57.71   
   57.43   
   57.14   
   56.86   
   56.57     
   56.29     
   56.00     

   >> min: 56.0 °C <<
   >> avg: 56.9 °C <<
   >> max: 59.0 °C <<

   /tmp/tmon-20200207@15h59m37-u4cd94qh.txt
===================

3voto

Para CPUs Intel seulement Vous pouvez utiliser i7z .

i7z - Un meilleur outil de reporting i7 (et maintenant i3, i5) pour Linux.

Installez-le :

sudo apt install i7z 

Ensuite, exécutez-le (il doit être exécuté avec la commande sudo ) :

sudo i7z

Exemple de sortie (voir Temp colonne - défilement vers la droite...) :

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

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X