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:
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: