it-swarm.it

Come verificare quale GPU è attiva in Linux?

Ho 2 GPU nel mio netbook. Come faccio a sapere quale sto effettivamente utilizzando in un dato momento?

80
LanceBaynes

Ho appena passato un inferno di tempo cercando di far funzionare la mia grafica discreta su Ubuntu e rispondere a queste domande è stata costantemente una sfida, dal momento che il metodo lspci menzionato in precedenza a volte può dire che entrambi sono [VGA controller]

Penso che il seguente comando dovrebbe darti un'indicazione del tuo chip attivo:

$ glxinfo|egrep "OpenGL vendor|OpenGL renderer"
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) Sandybridge Mobile

Per me questo mi sta dicendo che la mia grafica Intel sta eseguendo lo spettacolo. Se stai usando un chip nvidia e stai usando il pacchetto bumblebee, puoi mettere optirun davanti a quella linea e dovrebbe dirti che stai eseguendo il chip NVidia (optirun sta sostanzialmente dicendo al computer di usare il chip discreto per eseguire qualunque comando segue, ma tutto il resto sta ancora usando il chip integrato)

$ optirun glxinfo|egrep "OpenGL vendor|OpenGL renderer"
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: GeForce GT 555M/PCIe/SSE2

glxheads ti fornisce anche alcune informazioni utili su quale scheda grafica è in uso (per lo più ripete glxinfo in un formato più compatto e facile da leggere), e ti dà un piacevole rendering di un triangolo rotante.

51
Nickolai

Per verificare quale GPU è attualmente in comando (ciò significa che è un controller VGA attivo) digitare

lspci -vnnn | Perl -lne 'print if /^\d+\:.+(\[\S+\:\S+\])/' | grep VGA

Qualsiasi controller con [VGA controller] alla fine è la GPU attualmente attiva. Gli altri sono spenti. Nel seguente esempio la scheda Intel è attiva mentre quella nVidia non è in uso:

00:02.0 VGA compatible controller [0300]: Intel Corporation Core Processor
Integrated Graphics Controller [8086:0046] (rev 02) (prog-if 00 [VGA 
controller])
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GF108 [GeForce
GT 540M] [10de:0df4] (rev ff) (prog-if ff)
20
ubuntudroid
nvidia-smi -L

Questo mi ha dato quello che volevo. Questo comando mostra l'elenco delle GPU presenti sul tuo computer. Questo potrebbe aiutarti a capire quali sono attivi.

ottenuto il comando dal thread qui: buntu Box con più schede GPU NVIDIA | devtalk.nvidia.com

9
Hardhik

nvidia-settings GUI

Su Ubuntu 15.10, dopo aver installato nvidia-352 e la GPU sembra funzionare:

nvidia-settings

mostra qualcosa come:

enter image description here

Nota come mostra:

GPU 0 - (NVS 5400M)

dove NVS 5400M è il mio modello GPU.

Quindi se sparo glxgears, l'utilizzo della GPU va a> 90%.

Quindi mi aspetto che se avessi più GPU, potresti vedere quanto ognuna veniva utilizzata alla volta.

Quale sistema operativo stai usando? Se usi lspci sulla maggior parte delle macchine linux ottieni un elenco dei tuoi dispositivi pci, basta grep per i dispositivi grafici e dovrebbero apparire entrambi. Dopodiché basta dare un'occhiata alla configurazione su ciascuno di essi, dovresti vedere i dettagli di up/on/active o qualcosa del genere.

1
baweaver

nvidia-smi è molto utile, ma a volte ho scoperto che non include sempre tutto. Sembra che quando i processi si arrestano in modo anomalo non vengono sempre elencati.

Sudo lsof /dev/nvidia* ha sempre lavorato per me. Funzionerà anche senza Sudo, ma mostrerà solo i processi di tua proprietà. Se stai lavorando su una macchina multiutente o stai usando la finestra mobile, probabilmente otterrai risultati migliori con Sudo.

Se vedi una discrepanza tra i 2 comandi, potresti voler considerare killing i processi extra trovati con lsof.

0
Rick Smith