Jak sprawdzić, który procesor graficzny jest aktywny w systemie Linux?


Odpowiedzi:


42

Właśnie przeszedłem piekło czasu, próbując uruchomić moją dyskretną grafikę w Ubuntu, a odpowiedź na te pytania była ciągle wyzwaniem, ponieważ wspomniana wcześniej metoda lspci może czasem powiedzieć, że oba są [VGA controller]

Myślę, że następujące polecenie powinno dać ci wskazanie twojego aktywnego układu:

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

Dla mnie to mówi mi, że moje grafiki wywiadowcze prowadzą program. Jeśli używasz układu NVIDIA i korzystasz z bumblebeepakietu, możesz umieścić optirunprzed tym wierszem i powinien on powiedzieć, że korzystasz z układu NVidia (optirun zasadniczo mówi komputerowi, aby używał układu dyskretnego aby uruchomić dowolne polecenie, ale wszystko inne nadal korzysta ze zintegrowanego układu)

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

glxheads zawiera również przydatne informacje na temat używanej karty graficznej (najczęściej powtarza glxinfo w bardziej kompaktowej i czytelnej formie) oraz daje ładne odwzorowanie obracającego się trójkąta.


16

Aby sprawdzić, który układ GPU aktualnie obsługuje (to znaczy, który jest aktywnym kontrolerem VGA), wpisz

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

Dowolny kontroler [VGA controller]na końcu to aktualnie aktywny procesor graficzny. Pozostałe są wyłączone. W poniższym przykładzie karta Intel jest aktywna, gdy nVidia nie jest używana:

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
Um ... więc co to znaczy, że obie karty mają VGA controllerna końcu?
naught101

1
00: 02.0 Zgodny kontroler VGA [0300]: Zintegrowany kontroler procesorów Intel Core czwartej generacji [8086: 0416] (rev 06) (prog-if 00 [kontroler VGA]) 01: 00.0 Zgodny kontroler VGA [0300]: NVIDIA Corporation GK106GLM [Quadro K2100M] [10de: 11fc] (rev a1) (prog-if 00 [kontroler VGA]) co to znaczy?
Asaf Magen,

1
Może używasz SLI?
ubuntudroid,

w moim przypadku oba mają to na końcu: 00: 02.0 Kontroler zgodny z VGA [0300]: Intel Corporation Device [8086: 591b] (rev 04) (prog-if 00 [kontroler VGA]) 01: 00.0 Kontroler zgodny z VGA [0300 ]: NVIDIA Corporation GP106M [GeForce GTX 1060 Mobile] [10de: 1c20] (rev a1) (prog-if 00 [kontroler VGA])
Aftab Naveed

7

nvidia-settings GUI

Na Ubuntu 15.10, po zainstalowaniu nvidia-352i GPU wydaje się działać:

nvidia-settings

pokazuje coś takiego:

wprowadź opis zdjęcia tutaj

Zwróć uwagę, jak to pokazuje:

GPU 0 - (NVS 5400M)

gdzie NVS 5400Mjest mój model GPU.

Następnie, jeśli odpalę glxgears, użycie GPU spadnie do> 90%.

Spodziewam się, że gdybyś miał wiele procesorów graficznych, możesz zobaczyć, ile z nich korzystało jednocześnie.


Czym dokładnie jest NVIDIA-352? Czy jest to grupa sterowników, czy tylko sterownik dla konkretnego procesora graficznego?
cosbor11

@ cosbor11 nvidia-352to wersja pakietu sterowników / Ubuntu n, każda wersja obsługuje wiele procesorów graficznych wymienionych na oficjalnej stronie internetowej: nvidia.com/Download/driverResults.aspx/90279/en-uames NVS 5400M to model GPU: en.wikipedia .org / wiki / List_of_Nvidia_graphics_processing_units
Ciro Santilli 11 改造 中心 法轮功 六四 事件


1

Z jakiego systemu operacyjnego korzystasz? Jeśli używasz lspci na większości maszyn z linuksem, dostajesz listę swoich urządzeń pci, po prostu grep dla urządzeń graficznych i powinno wyskoczyć oba z nich. Następnie po prostu sprawdź konfigurację na każdym z nich, powinieneś zobaczyć szczegóły up / on / active lub coś w tym rodzaju.


1
ubuntu 11.04. i lspci pokazuje wszystkie dwa GPU.
LanceBaynes,

0

nvidia-smijest bardzo przydatny, ale czasami stwierdzam, że nie zawsze zawiera wszystko. Wygląda na to, że gdy procesy ulegają awarii, nie zawsze są wymienione.

sudo lsof /dev/nvidia*zawsze dla mnie pracował. Będzie również działał bez niego sudo, ale pokaże tylko procesy będące własnością użytkownika. Jeśli pracujesz na maszynie dla wielu użytkowników lub używasz dokera, prawdopodobnie uzyskasz lepsze wyniki sudo.

Jeśli zauważysz rozbieżność między 2 poleceniami, możesz rozważyć killdodatkowe procesy znalezione w lsof.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.