1 votes

Commande de terminal permettant d'afficher un résumé de la mémoire utilisée, de la température et de l'utilisation du GPU sur un seul écran, de manière simple.

Existe-t-il une commande Terminal pour afficher un résumé de la mémoire utilisée, des degrés de température et de l'utilisation du GPU sur un seul écran, de manière simple ?

Je veux que le terminal me donne des informations de manière synthétique sur la mémoire utilisée (pas de swap, etc.), l'utilisation du GPU (en pourcentage) et les degrés de température - quelle est la température du CPU ?

Pour l'instant, je dois utiliser trois commandes de terminal différentes :

watch free -m    # For Memory use
watch sensors    # For Temperature
watch ndivia-smi # For GPU use

Existe-t-il un moyen d'afficher ces informations sur un seul écran ? Ces commandes produisent beaucoup d'informations dont quelqu'un peut ne pas avoir besoin immédiatement.

La première ligne peut montrer l'utilisation de la mémoire. La deuxième ligne peut montrer l'utilisation du GPU. La troisième ligne peut afficher les températures.

Je veux de free -m "disponible". Je veux de nvidia-smi "Volatile GPU-Util" et de sensors toutes les températures en pourcentage sans montrer leurs limites (de ça à ça), par exemple

Available memory    5500000          

Volatile GPU-Util  20% 

CPUtemp1           40oC
Fantemp1           41oC
FanTemp2           42oC
etc... 

Est-ce possible ?

Exemples de résultats :

free -m sortie

$ free -m
              total        used        free      shared  buff/cache   available
Mem:           7815        1938        3548         188        2328        5391
Swap:          2047          57        1990

nvidia-smi sortie

$ nvidia-smi
Fri Jul 31 18:35:45 2020       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 390.138                Driver Version: 390.138                   |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GT 1030     Off  | 00000000:01:00.0  On |                  N/A |
| 32%   44C    P8    N/A /  30W |    220MiB /  1998MiB |      1%      Default |
+-------------------------------+----------------------+----------------------+

    +-----------------------------------------------------------------------------+
    | Processes:                                                       GPU Memory |
    |  GPU       PID   Type   Process name                             Usage      |
    |=============================================================================|
    |    0      1770      G   /usr/lib/xorg/Xorg                            82MiB |
    |    0      8182      G   /usr/bin/krunner                               6MiB |
    |    0      8184      G   /usr/bin/plasmashell                          55MiB |
    |    0     26370      G   ...AAAAAAAAAAAACAAAAAAAAAA= --shared-files    74MiB |
    +-----------------------------------------------------------------------------+

sensors sortie

$ sensors
it8620-isa-0a30
Adapter: ISA adapter
in0:          +0.01 V  (min =  +0.00 V, max =  +3.06 V)  ALARM
in1:          +2.05 V  (min =  +0.00 V, max =  +3.06 V)
in2:          +2.00 V  (min =  +0.00 V, max =  +3.06 V)
in3:          +2.02 V  (min =  +0.00 V, max =  +3.06 V)
in4:          +0.01 V  (min =  +0.00 V, max =  +3.06 V)
in5:          +1.74 V  (min =  +0.00 V, max =  +3.06 V)
in6:          +1.50 V  (min =  +0.00 V, max =  +3.06 V)
3VSB:         +3.38 V  (min =  +0.00 V, max =  +6.12 V)
Vbat:         +3.05 V  
fan1:        2986 RPM  (min =    0 RPM)
fan2:           0 RPM  (min =    0 RPM)
fan3:           0 RPM  (min =    0 RPM)
temp1:        +47.0°C  (low  = +127.0°C, high = +127.0°C)  sensor = thermistor
temp2:       -128.0°C  (low  = +127.0°C, high = +127.0°C)  sensor = disabled
temp3:        +35.0°C  (low  = +127.0°C, high = +127.0°C)  sensor = Intel PECI
temp4:        +45.0°C  
temp5:        +42.0°C  
temp6:        +45.0°C  
intrusion0:  ALARM

acpitz-virtual-0
Adapter: Virtual device
temp1:        +27.8°C  (crit = +97.0°C)
temp2:        +29.8°C  (crit = +97.0°C)

coretemp-isa-0000
Adapter: ISA adapter
Package id 0:  +45.0°C  (high = +86.0°C, crit = +92.0°C)
Core 0:        +43.0°C  (high = +86.0°C, crit = +92.0°C)
Core 1:        +44.0°C  (high = +86.0°C, crit = +92.0°C)
Core 2:        +42.0°C  (high = +86.0°C, crit = +92.0°C)
Core 3:        +40.0°C  (high = +86.0°C, crit = +92.0°C)

3voto

pomsky Points 62110

Vous pouvez facilement extraire les parties spécifiques qui vous intéressent à partir des longues sorties en utilisant divers utilitaires de ligne de commande, par ex. awk .

Vous voulez montrer seulement le ' disponible sur ' à partir de la sortie de free -m . Notez que ce nombre apparaît comme la 7ème chaîne de caractères dans la 2ème ligne de la sortie de free -m . Vous pouvez donc utiliser la commande suivante pour extraire ce nombre

free -m | awk '{if (NR == 2) {print $7}}'

Vers " watch " la sortie, vous pouvez utiliser ce qui suit

watch 'free -m | awk '\''{if (NR == 2) {print $7}}'\'

De même, il semble que vous souhaitiez extraire la 2ème chaîne de la 9ème ligne de la sortie de la commande nvidia-smi ( 32% selon le résultat que vous avez ajouté à la question). Vous pouvez donc extraire cette valeur par la commande suivante

nvidia-smi | awk '{if (NR == 9) {print $2}}'

et watch en utilisant

watch 'nvidia-smi | awk '\''{if (NR == 9) {print $2}}'\'

A partir de la sortie de sensors Je crois que vous essayez d'extraire la deuxième chaîne de caractères des lignes 15 à 20 (qui signalent temp1 a temp6 ). Vous pouvez donc utiliser

sensors | awk '{if (NR>=15&&NR<=20) {print $2}}'

et à watch

watch 'sensors | awk '\''{if (NR>=15&&NR<=20) {print $2}}'\'

A watch les trois en même temps, vous pouvez utiliser la commande suivante

watch 'free -m | awk '\''{if (NR == 2) {print $7}}'\''; nvidia-smi | awk '\''{if (NR == 9) {print $2}}'\''; sensors | awk '\''{if (NR>=15&&NR<=20) {print $2}}'\'

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