Lan*_*nes 101 linux hardware graphics
我的上网本中有 2 个 GPU。我怎么知道我在任何给定时刻实际使用的是哪一个?
小智 68
我刚刚经历了很长时间试图让我的独立显卡在 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
Run Code Online (Sandbox Code Playgroud)
对我来说,这告诉我我的英特尔图形正在运行。如果您使用的是 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
Run Code Online (Sandbox Code Playgroud)
glxheads
还告诉您有关正在使用的图形卡的一些有用信息(主要以更紧凑且易于阅读的形式重复 glxinfo),并且它为您提供了旋转三角形的精美渲染。
小智 25
要检查哪个 GPU 当前处于命令状态(这意味着哪个是活动的 VGA 控制器),请输入
lspci -vnnn | perl -lne 'print if /^\d+\:.+(\[\S+\:\S+\])/' | grep VGA
Run Code Online (Sandbox Code Playgroud)
[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)
Run Code Online (Sandbox Code Playgroud)
Cir*_*郝海东 10
nvidia-settings
图形用户界面
在 Ubuntu 15.10 上,安装后nvidia-352
GPU 似乎可以工作:
nvidia-settings
Run Code Online (Sandbox Code Playgroud)
显示类似:
请注意它是如何显示的:
GPU 0 - (NVS 5400M)
Run Code Online (Sandbox Code Playgroud)
NVS 5400M
我的 GPU 模型在哪里。
然后,如果我开火glxgears
,“GPU 利用率”将达到 > 90%。
所以我希望如果你有多个 GPU,你可以看到每个 GPU 一次被使用了多少。
小智 9
nvidia-smi -L
Run Code Online (Sandbox Code Playgroud)
这给了我我想要的。此命令显示您机器上的 GPU 列表。这可能会帮助您确定哪些是活动的。
从这里的线程获取命令:带有多个 NVIDIA GPU 卡的 Ubuntu Box | devtalk.nvidia.com
小智 1
您使用哪个操作系统?如果您在大多数 Linux 机器上使用 lspci,您将获得 pci 设备的列表,只需 grep 查找图形设备,它就会弹出这两个设备。之后,只需检查每个配置上的配置,您应该会看到 up/on/active 或类似性质的详细信息。