Wie überprüfe ich, welche GPU in Linux aktiv ist?


Antworten:


42

Ich habe gerade eine verdammt lange Zeit damit verbracht, meine diskreten Grafiken in Ubuntu zum Laufen zu bringen, und die Beantwortung dieser Fragen war immer wieder eine Herausforderung, da die oben erwähnte lspci-Methode manchmal beides bedeuten kann [VGA controller]

Ich denke, der folgende Befehl sollte Ihnen einen Hinweis auf Ihren aktiven Chip geben:

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

Für mich bedeutet das, dass meine Intel-Grafiken die Show leiten. Wenn Sie einen nvidia-Chip verwenden und das bumblebeePaket verwenden, können Sie optirundiese Zeile voranstellen und es sollte Ihnen mitteilen, dass Sie den NVidia-Chip verwenden (optirun weist den Computer grundsätzlich an, den diskreten Chip zu verwenden um den Befehl auszuführen, der folgt, aber alles andere verwendet immer noch den integrierten Chip)

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

glxheads Außerdem erhalten Sie nützliche Informationen darüber, welche Grafikkarte verwendet wird (wiederholt meistens glxinfo in einer kompakteren und besser lesbaren Form), und Sie erhalten eine schöne Darstellung eines sich drehenden Dreiecks.


16

Um zu überprüfen, welche GPU gerade im Befehl ist (das heißt, welche ein aktiver VGA-Controller ist), geben Sie ein

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

Jeder Controller mit [VGA controller]am Ende ist Ihre derzeit aktive GPU. Die anderen sind ausgeschaltet. Im folgenden Beispiel ist die Intel-Karte aktiv, während die nVidia-Karte nicht verwendet wird:

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)

7
Ähm ... also was bedeutet es, wenn beide Karten VGA controlleram Ende haben?
Naught101

1
00: 02.0 VGA-kompatibler Controller [0300]: Integrierter Grafikcontroller der 4. Generation der Intel Corporation [8086: 0416] (Version 06) (prog-if 00 [VGA-Controller]) 01: 00.0 VGA-kompatibler Controller [0300]: NVIDIA Corporation GK106GLM [Quadro K2100M] [10de: 11fc] (rev a1) (prog-if 00 [VGA-Controller]) was bedeutet das?
Asaf Magen

1
Vielleicht verwenden Sie SLI?
Ubuntudroid

in meinem Fall hat beides am Ende: 00: 02.0 VGA-kompatibler Controller [0300]: Intel Corporation Device [8086: 591b] (Rev. 04) (prog-if 00 [VGA-Controller]) 01: 00.0 VGA-kompatibler Controller [0300 ]: NVIDIA Corporation GP106M [GeForce GTX 1060 Mobile] [10de: 1c20] (rev.a1) (prog-if 00 [VGA-Controller])
Aftab Naveed

7

nvidia-settings GUI

Unter Ubuntu 15.10, nachdem ich es installiert habe nvidia-352und die GPU zu funktionieren scheint:

nvidia-settings

zeigt so etwas wie:

Bildbeschreibung hier eingeben

Beachten Sie, wie es zeigt:

GPU 0 - (NVS 5400M)

Wo NVS 5400Mist mein GPU-Modell?

Wenn ich dann feuere glxgears, geht die GPU-Auslastung auf> 90%.

Ich gehe also davon aus, dass Sie bei mehreren GPUs sehen können, wie viel jeweils verwendet wurde.


Was ist NVIDIA-352 genau? Handelt es sich um eine Reihe von Treibern oder nur um einen Treiber für eine bestimmte GPU?
cosbor11

@ cosbor11 nvidia-352ist die Version des Treiber- / Ubuntu-Pakets n. Jede Version unterstützt viele GPUs, wie auf der offiziellen Website aufgeführt: nvidia.com/Download/driverResults.aspx/90279/en-uames NVS 5400M ist das GPU-Modell: de.wikipedia .org / wiki / List_of_Nvidia_graphics_processing_units
Ciro Santilli


1

Welches Betriebssystem verwenden Sie? Wenn Sie lspci auf den meisten Linux-Rechnern verwenden, erhalten Sie eine Liste Ihrer PCI-Geräte. Suchen Sie einfach nach Grafikgeräten, und es sollten beide angezeigt werden. Danach checke einfach die Konfiguration auf jedem von ihnen aus, du solltest Details von up / on / active oder etwas in dieser Art sehen.


1
Ubuntu 11.04. und lspci zeigt alle zwei gpus.
LanceBaynes

0

nvidia-smiist sehr nützlich, aber manchmal habe ich festgestellt, dass es nicht immer alles enthält. Es scheint, dass Prozesse, die abstürzen, nicht immer aufgelistet sind.

sudo lsof /dev/nvidia*hat immer für mich gearbeitet. Es funktioniert auch ohne sudo, zeigt aber nur Prozesse an, die Ihnen gehören. Wenn Sie auf einem Mehrbenutzer-Computer arbeiten oder Docker verwenden, erzielen Sie mit wahrscheinlich bessere Ergebnisse sudo.

Wenn Sie eine Diskrepanz zwischen den beiden Befehlen killfeststellen , sollten Sie die zusätzlichen Prozesse berücksichtigen, die mit gefunden wurden lsof.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.