Як перевірити, який графічний процесор активний у Linux?


66

У мене в нетбуку є 2 GPU. Як я можу знати, яким саме я користуюся в будь-який момент?

Відповіді:


42

Я щойно пережив пекло, намагаючись змусити свою дискретну графіку працювати в Ubuntu, і відповідати на ці запитання постійно було складним завданням, оскільки згаданий раніше метод lspci іноді може сказати, що обидва [VGA controller]

Я думаю, що наступна команда повинна вказувати на ваш активний чіп:

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

Для мене це говорить про те, що моя графіка Intel працює на шоу. Якщо ви використовуєте чіп nvidia, а ви використовуєте bumblebeeпакет, ви можете поставити optirunперед цим рядком, і він повинен сказати вам, що ви використовуєте чіп NVidia (optirun в основному говорить комп'ютеру використовувати дискретний чіп запускати будь-яку команду, що слідує, але все ще використовується інтегрована мікросхема)

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

glxheads також розповідає корисну інформацію про те, яка відеокарта використовується (здебільшого повторює glxinfo у більш компактній та легкій для читання формі tho), і вона дає приємне відображення обертового трикутника.


16

Щоб перевірити, який GPU в даний час командує (це означає, що це активний контролер VGA), введіть

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

Будь-який контролер з [VGA controller]кінцем - це ваш активний GPU. Інші вимкнені. У наступному прикладі карта Intel активна, поки nVidia не використовується:

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
Гм ... так що це означає, якщо обидві карти є VGA controllerв кінці?
naught101

1
00: 02.0 VGA-сумісний контролер [0300]: Інтегрований графічний контролер Intel Corporation 4-го покоління процесорів [8086: 0416] (rev 06) (прог. Якщо 00 [контролер VGA]) 01: 00.0 VGA-сумісний контролер [0300]: NVIDIA Corporation GK106GLM [Quadro K2100M] [10de: 11fc] (rev a1) (прог-якщо 00 [контролер VGA]) що це означає?
Асаф Маген

1
Можливо, ви використовуєте SLI?
ubuntudroid

в моєму випадку обидва мають це в кінці: 00: 02.0 VGA-сумісний контролер [0300]: Intel Corporation Device [8086: 591b] (rev 04) (прог-якщо 00 [контролер VGA]) 01: 00.0 VGA-сумісний контролер [0300 ]: NVIDIA Corporation GP106M [GeForce GTX 1060 Mobile] [10de: 1c20] (rev a1) (прог-якщо 00 [контролер VGA])
Aftab Naveed

7

nvidia-settings GUI

У Ubuntu 15.10, після того, як я встановив nvidia-352і графічний процесор, здається, працює:

nvidia-settings

показує щось на кшталт:

введіть тут опис зображення

Зверніть увагу, як це показано:

GPU 0 - (NVS 5400M)

де NVS 5400Mмоя модель GPU.

Тоді, якщо я буду стріляти glxgears, використання GPU переходить до> 90%.

Тож я очікую, що якби у вас було кілька графічних процесорів, ви могли б бачити, скільки кожного з них використовується одночасно.


Що саме таке nvidia-352? Це купа драйверів або просто драйвер для конкретного GPU?
cosbor11

@ cosbor11 nvidia-352- це версія драйвера / пакету Ubuntu n, кожна версія підтримує багато графічних процесорів, як зазначено на офіційному веб-сайті: nvidia.com/Download/driverResults.aspx/90279/en-uames NVS 5400M - це модель GPU: en.wikipedia .org / wiki / List_of_Nvidia_graphics_processing_units
Ciro Santilli 新疆 改造 中心 法轮功 六四


1

Яку ОС ви використовуєте? Якщо ви використовуєте lspci на більшості машин Linux, ви отримуєте список своїх ПК-пристроїв, просто натисніть на графічні пристрої, і вони повинні з'являтися на обох. Після цього просто перевірте конфігурацію на кожному з них, ви повинні побачити деталі up / on / active чи щось подібне.


1
ubuntu 11.04. і lspci показує всі два гпу.
LanceBaynes

0

nvidia-smiдуже корисно, але часом я виявив, що воно не завжди включає все. Здається, що при збої процесів вони не завжди перераховані.

sudo lsof /dev/nvidia*завжди працював на мене. Він також працюватиме без sudo, але показуватиме лише процеси, які належать вам. Якщо ви працюєте на багатокористувацькій машині або використовуєте докер, ви, мабуть, отримаєте кращі результати sudo.

Якщо ви побачите невідповідність між двома командами, ви можете розглянути killдодаткові процеси, знайдені в lsof.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.