it-swarm-ru.tech

Как проверить, какой GPU активен в Linux?

У меня есть 2 графических процессора в моем нетбуке. Как узнать, какой из них я использую в данный момент?

80
LanceBaynes

Я только что прошел через адское время, пытаясь заставить мою дискретную графику работать в 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 в более компактной и удобной для чтения форме), и дает вам красивую визуализацию вращающегося треугольника.

51
Nickolai

Чтобы проверить, какой GPU в данный момент находится в команде (то есть, который является активным контроллером VGA), введите

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

Любой контроллер с [VGA controller] в конце ваш текущий активный графический процессор. Остальные выключены. В следующем примере карта 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)
20
ubuntudroid
nvidia-smi -L

Это дало мне то, что я хотел. Эта команда показывает список графических процессоров, имеющихся на вашем компьютере. Это может помочь вам понять, какие из них являются активными.

получил команду из потока здесь: buntu Box с несколькими видеокартами NVIDIA | devtalk.nvidia.com

9
Hardhik

nvidia-settings GUI

На Ubuntu 15.10, после того как я установил nvidia-352 и ​​графический процессор работает:

nvidia-settings

показывает что-то вроде:

enter image description here

Обратите внимание, как это показывает:

GPU 0 - (NVS 5400M)

где NVS 5400M моя модель графического процессора.

Затем, если я запускаю glxgears, использование графического процессора достигает> 90%.

Поэтому я ожидаю, что если у вас будет несколько графических процессоров, вы сможете увидеть, сколько каждый из них используется одновременно.

Какую ОС вы используете? Если вы используете lspci на большинстве Linux-машин, вы получите список своих pci-устройств, просто grep для графических устройств, и он должен появиться на обоих. После этого просто проверьте конфигурацию каждого из них, вы должны увидеть детали up/on/active или что-то в этом роде.

1
baweaver

nvidia-smi очень полезно, но иногда я обнаруживаю, что оно не всегда включает в себя все. Кажется, что при сбое процессов они не всегда перечислены.

Sudo lsof /dev/nvidia* всегда работал для меня. Он также будет работать без Sudo, но покажет только процессы, принадлежащие вам. Если вы работаете на многопользовательской машине или используете докер, вы, вероятно, получите лучшие результаты с Sudo.

Если вы видите несоответствие между этими 2 командами, вы можете рассмотреть возможность использования kill дополнительных процессов, найденных с помощью lsof.

0
Rick Smith