Connect with us

Linux

Strumenti di linea per il monitoraggio della GPU e la diagnostica di Linux


UN la scheda video è un circuito speciale che controlla ciò che viene visualizzato sul monitor di un computer. È anche chiamata unità di elaborazione grafica (GPU), che calcola immagini e grafica 3D per i giochi Linux e altri usi. Vediamo i 7 migliori strumenti da riga di comando diagnostici e di monitoraggio della GPU Linux per risolvere i problemi.

I seguenti strumenti funzionano su Linux per il monitoraggio della GPU e per scopi diagnostici e altri sistemi operativi come FreeBSD. La maggior parte degli utenti Linux e FreeBSD oggigiorno utilizza GPU Nvidia, Intel e AMD.

Strumenti di linea per il monitoraggio della GPU e la diagnostica di Linux

Possiamo utilizzare i seguenti strumenti per monitorare, diagnosticare e ispezionare i nostri sistemi basati su Linux o * BSD.

Trovare informazioni sulla GPU su Linux

Per ottenere le informazioni sulla GPU è sufficiente eseguire:
sudo lshw -C display -short
lspci -v | more

Che viene emesso qualcosa come segue:

H/W path               Device        Class          Description
===============================================================
/0/100/1/0                           display        TU117M [GeForce GTX 1650 Mobile / Max-Q]
/0/100/2               /dev/fb0      display        UHD Graphics 630 (Mobile)

1. glmark2 – Stress test delle prestazioni della GPU su Linux

glmark2 è un’utilità della riga di comando di benchmark OpenGL 2.0 e ES 2.0. Possiamo installarlo come segue:
$ sudo apt install glmark2
Ora eseguilo come segue:
$ glmark2
Quindi inizierà il test come segue e sottoporrà a stress test la tua GPU su Linux:

Schermata di test di Linux glmark2

Il mio risultato di benchmark per Nvidia GeForce GTX 1650 in esecuzione su Ubuntu Linux 20.04 LTS:

=======================================================
    glmark2 2014.03+git20150611.fa71af2d
=======================================================
    OpenGL Information
    GL_VENDOR:     NVIDIA Corporation
    GL_RENDERER:   GeForce GTX 1650 with Max-Q Design/PCIe/SSE2
    GL_VERSION:    4.6.0 NVIDIA 450.80.02
=======================================================
[build] use-vbo=false: FPS: 4980 FrameTime: 0.201 ms
[build] use-vbo=true: FPS: 6927 FrameTime: 0.144 ms
[texture] texture-filter=nearest: FPS: 5144 FrameTime: 0.194 ms
[texture] texture-filter=linear: FPS: 4979 FrameTime: 0.201 ms
[texture] texture-filter=mipmap: FPS: 4030 FrameTime: 0.248 ms
[shading] shading=gouraud: FPS: 6358 FrameTime: 0.157 ms
[shading] shading=blinn-phong-inf: FPS: 5810 FrameTime: 0.172 ms
[shading] shading=phong: FPS: 6425 FrameTime: 0.156 ms
[shading] shading=cel: FPS: 5720 FrameTime: 0.175 ms
[bump] bump-render=high-poly: FPS: 4772 FrameTime: 0.210 ms
[bump] bump-render=normals: FPS: 7187 FrameTime: 0.139 ms
[bump] bump-render=height: FPS: 6724 FrameTime: 0.149 ms
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 5278 FrameTime: 0.189 ms
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 3649 FrameTime: 0.274 ms
[pulsar] light=false:quads=5:texture=false: FPS: 5793 FrameTime: 0.173 ms
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: FPS: 2776 FrameTime: 0.360 ms
[desktop] effect=shadow:windows=4: FPS: 3913 FrameTime: 0.256 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 1555 FrameTime: 0.643 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction=0.5:update-method=subdata: FPS: 1703 FrameTime: 0.587 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction=0.5:update-method=map: FPS: 1800 FrameTime: 0.556 ms
[ideas] speed=duration: FPS: 5480 FrameTime: 0.182 ms
[jellyfish] : FPS: 4283 FrameTime: 0.233 ms
[terrain] : FPS: 746 FrameTime: 1.340 ms
[shadow] : FPS: 4878 FrameTime: 0.205 ms
[refract] : FPS: 1580 FrameTime: 0.633 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 5081 FrameTime: 0.197 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 4556 FrameTime: 0.219 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 5293 FrameTime: 0.189 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 5048 FrameTime: 0.198 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 4602 FrameTime: 0.217 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 4744 FrameTime: 0.211 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 4515 FrameTime: 0.221 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 4948 FrameTime: 0.202 ms
=======================================================
                                  glmark2 Score: 4584 
=======================================================

2. glxgears – Semplice strumento di test delle prestazioni della GPU Linux

Visualizza una serie di ingranaggi rotanti e stampa il frame rate a intervalli regolari. È diventato abbastanza popolare come strumento di benchmark di base per Linux e sistemi simili a Unix come FreeBSD. Installalo ed eseguilo come segue:
$ apt install mesa-utils
$ glxgears


Il frame rate della GPU viene misurato e pubblicato sullo schermo ogni cinque secondi. Il risultato finale sarà il seguente:

Running synchronized to the vertical refresh.  The framerate should be
approximately the same as the monitor refresh rate.
299 frames in 5.0 seconds = 59.416 FPS
299 frames in 5.0 seconds = 59.731 FPS
300 frames in 5.0 seconds = 59.940 FPS
300 frames in 5.0 seconds = 59.968 FPS
300 frames in 5.0 seconds = 59.943 FPS
300 frames in 5.0 seconds = 59.967 FPS
299 frames in 5.0 seconds = 59.742 FPS
300 frames in 5.0 seconds = 59.951 FPS
.....
...
...

3. gpustat – Un semplice strumento per ottenere le statistiche della GPU Nvidia su Linux e FreeBSD Unix

È scritto in Python ed è lo strumento perfetto per gli utenti della CLI, in particolare per gli sviluppatori ML / AI. Si può installarlo come segue usando PIP
$ pip install gpustat
$ pip3 install gpustat

Eseguilo come segue:
$ gpustat
$ gpustat -cp

Qui vediamo il nome del processo in esecuzione e i relativi PID in esecuzione sulla GPU Nvidia:


nixcraft-wks01                         Tue Nov 24 15:46:37 2020  450.80.02
[0] GeForce GTX 1650 with Max-Q Design | 39'C,  ?? %,   2 % |   962 /  3911 MB | Xorg/2454(100M) Xorg/3504(325M) gnome-shell/3689(181M) firefox/4614(1M) firefox/5036(1M) firefox/5143(1M)

Vedi aiuto:
$ gpustat -h

4. intel_gpu_top – Fornisce un sommario simile all’uso della GPU Intel su Linux

Prima installa lo strumento, esegui:
$ sudo apt install intel-gpu-tools
## CentOS/RHEL/Fedora Linux user try the dnf command ##
$ sudo dnf install intel-gpu-tools

Gli utenti Fedora, RHEL e CentOS Linux possono utilizzare il comando podman come segue per installare lo stesso:
$ podman run --rm --priviledged registry.freedesktop.org/drm/igt-gpu-tools/igt:master
Lo strumento raccoglie i dati utilizzando i contatori delle prestazioni (PMU) esposti da i915 e altri driver della piattaforma come RAPL (potenza) e Uncore IMC (larghezza di banda della memoria). Eseguilo come segue su sistema Linux:
$ sudo intel_gpu_top

5. nvidia-smi – Programma di interfaccia di gestione del sistema NVIDIA

Nvidia-smi fornisce funzionalità di monitoraggio e gestione per ciascuno dei dispositivi NVIDIA Tesla, Quadro, GRID e GeForce di Fermi e famiglie di architetture superiori. I dispositivi della serie GeForce Titan sono supportati per la maggior parte delle funzioni con informazioni molto limitate fornite per il resto del marchio Geforce. NVSMI è uno strumento multipiattaforma che supporta tutti gli standard Linux e FreeBSD supportati dai driver NVIDIA. Installalo come segue una volta installato il driver Nvidia su Ubuntu Linux:
$ apt install nvidia-smi
Apri il terminale e poi esegui:
$ nvidia-smi -q -g 0 -d UTILIZATION -l 1
$ sudo nvidia-smi
$ nvidia-smi --help

Ecco cosa vediamo:


Tue Nov 24 15:57:43 2020       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 450.80.02    Driver Version: 450.80.02    CUDA Version: 11.0     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  GeForce GTX 165...  Off  | 00000000:01:00.0  On |                  N/A |
| N/A   40C    P8     3W /  N/A |   1011MiB /  3911MiB |      2%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      2454      G   /usr/lib/xorg/Xorg                100MiB |
|    0   N/A  N/A      3504      G   /usr/lib/xorg/Xorg                357MiB |
|    0   N/A  N/A      3689      G   /usr/bin/gnome-shell              179MiB |
|    0   N/A  N/A      4614      G   /usr/lib/firefox/firefox            1MiB |
|    0   N/A  N/A      5036      G   /usr/lib/firefox/firefox            1MiB |
|    0   N/A  N/A      5143      G   /usr/lib/firefox/firefox            1MiB |
|    0   N/A  N/A      6406      G   ...AAAAAAAA== --shared-files      225MiB |
|    0   N/A  N/A     14462      G   ...AAAAAAAA== --shared-files      131MiB |
+-----------------------------------------------------------------------------+


6. nvtop – GPU NVIDIA superiore

Un altro strumento stravagante ma molto utile per la GPU NVIDIA. È un visualizzatore di stato GPU basato su ncurses per GPU NVIDIA in modo simile al comando htop o al comando top. Possiamo installarlo come segue:
$ apt install nvtop
## RUN the tool ##
$ nvtop


I seguenti comandi sono disponibili mentre in nvtop è sullo schermo:

  • Su – Seleziona (evidenzia) il processo precedente.
  • Giù – Seleziona (evidenzia) il processo successivo.
  • Sinistra / Destra – Scorri nella riga del processo.
  • + – Ordina sempre più.
  • - – Ordina in modo decrescente.
  • F1 – Seleziona un segnale da inviare al processo evidenziato.
  • F2 – Seleziona il campo per l’ordinamento. Il campo di ordinamento corrente è evidenziato all’interno della barra dell’intestazione.
  • F3, q, Esc – Esci da nvtop e torna alla tua shell

7. radeontop – Strumento per mostrare l’utilizzo della GPU AMD su Linux

Visualizza l’utilizzo della GPU AMD, sia per la percentuale di attività totale che per i singoli blocchi su Linux. Installalo come segue:
$ sudo apt install radeontop
$ sudo radeontop

Funziona con GPU R600 e superiori, anche le isole meridionali dovrebbero funzionare bene. Funziona sia con i driver AMD open source che con i driver cloused-source AMD Catalyst:

Conclusione

Hai appreso i vari comandi e strumenti della GPU Linux per scopi di monitoraggio e diagnostica su sistemi basati su Linux e BSD. Fammi sapere se ho perso il tuo strumento preferito nella sezione commenti qui sotto.

???? Se ti è piaciuta questa pagina, per favore sostenere il mio lavoro su Patreon o con una donazione.
???? Ottieni i tutorial più recenti su argomenti SysAdmin, Linux / Unix, Open Source e DevOps tramite:


Ti e piaciuto questo articolo?
Supporta il mio lavoro, facendo una donazione!

Click to comment

Leave a Reply

Esegui l'accesso per Commentare

Di tendenza

Close Popup
Questo sito utilizza i cookie per migliorare servizi ed esperienza dei lettori. Se decidi di continuare la navigazione senza blocchi premi su Accetto, oppure continua tranquillamente la navigazione, nessun dato sulla tua navigazione verrà raccolto.
Close Popup
Privacy Settings saved!
Impostazioni

Quando visiti un sito Web, esso può archiviare o recuperare informazioni sul tuo browser, principalmente sotto forma di cookies. Controlla qui i tuoi servizi di cookie personali.

Questi cookie sono necessari per il funzionamento del sito Web e non possono essere disattivati nei nostri sistemi.

Cookie tecnici
Per utilizzare questo sito web usiamo i seguenti cookie tecnici necessari:
  • wordpress_test_cookie
  • wordpress_logged_in_
  • wordpress_sec
  • swpm_session

Google Adsense
Usiamo la pubblicità di Google solo per mantenere attivi i nostro sito. Con ip anonimizzati.

Rifiuta tutti i Servizi
Save
Accetta tutti i Servizi