如何检查Linux中哪个GPU是活动的?


Answers:


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

对我来说,这告诉我我的英特尔图形正在运行该节目。如果您使用的是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),并且为您提供了旋转三角形的漂亮呈现。


15

要检查当前正在使用哪个GPU(即哪个是活动的VGA控制器),请输入

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

[VGA controller]结尾处的任何控制器都是您当前活动的GPU。其他的则关闭。在以下示例中,在不使用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]:英特尔公司第四代核心处理器集成图形控制器[8086:0416](修订版06)(prog-if 00 [VGA控制器])01:00.0 VGA兼容控制器[0300]:NVIDIA Corporation GK106GLM [Quadro K2100M] [10de:11fc](rev a1)(prog-if 00 [VGA控制器])是什么意思?
2015年

1
也许您正在使用SLI?
ubuntudroid

在我的情况下,两者都在末尾具有:00:02.0 VGA兼容控制器[0300]:英特尔公司设备[8086:591b](修订版04)(编程为00 [VGA控制器])01:00.0 VGA兼容控制器[0300 ]:NVIDIA Corporation GP106M [GeForce GTX 1060 Mobile] [10de:1c20](rev a1)(prog-if 00 [VGA控制器])
Aftab Naveed

7

nvidia-settings 图形用户界面

在Ubuntu 15.10上,安装后nvidia-352,GPU似乎可以正常工作:

nvidia-settings

显示如下:

在此处输入图片说明

注意它如何显示:

GPU 0 - (NVS 5400M)

NVS 5400M我的GPU模型在哪里。

然后,如果我触发glxgears,GPU使用率将> 90%。

因此,我希望如果您有多个GPU,则可以看到每个GPU一次使用了多少。


nvidia-352到底是什么?是一堆驱动程序还是只是特定GPU的驱动程序?
cosbor11 '18

@ cosbor11 nvidia-352是驱动程序/ Ubuntu软件包n的版本,每个版本都支持官方网站上列出的许多GPU:nvidia.com/Download/driverResults.aspx/90279/en-uames NVS 5400M是GPU模型:en.wikipedia .org / wiki / List_of_Nvidia_graphics_processing_units
西罗Santilli新疆改造中心法轮功六四事件18/05/11


1

您正在使用哪个操作系统?如果您在大多数linux机器上使用lspci,则会获得pci设备的列表,仅是grep图形设备,它会同时弹出两者。之后,只需检查每个配置,您应该会看到up / on / active或类似性质的详细信息。


1
ubuntu 11.04。lspci显示了所有两个gpu。
LanceBaynes

0

nvidia-smi很有用,但有时我发现它并不总是包含所有内容。似乎当进程崩溃时,它们并不总是被列出。

sudo lsof /dev/nvidia*一直为我工作。它也可以在没有的情况下工作sudo,但只会显示您拥有的进程。如果您正在使用多用户机器或使用docker,则使用可能会获得更好的结果sudo

如果您发现这两个命令之间存在差异,则可能需要考虑kill使用找到的额外过程lsof

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.