我的联想 Y700 笔记本电脑有双 GPU - NVIDIA GeForce GTX 960M 和 Intel(R) HD Graphics 530。我使用的是带有专有 NVIDIA 驱动程序的 Ubuntu 20.04。在 NVIDIA X 服务器设置中,我设置了 NVIDIA On-Demand PRIME 配置文件。现在我想知道如何检查特定程序使用的是什么 GPU?我知道我可以用来glxinfo | grep OpenGL
检查终端使用的是什么 GPU(如果我使用适当的上下文菜单选项打开终端,它会发生变化),但我如何知道 Steam 游戏或任何其他程序是使用 NVIDIA 还是 Intel GPU 打开的?
答案1
这是一个低级答案。如果它不是您正在寻找的,则可能需要进一步完善,但我几乎无法为您提供更多帮助,因为我的笔记本电脑上只有一个 GPU。
首先确定 OpenGL 程序的 PID(进程 ID)。
/proc/PID/fd
是列出程序已打开的文件的目录。如果您在ls -l
该目录中,您将看到诸如、等文件/dev/dri/card0
。/dev/dri/card1
文件取决于您的 OpenGL 程序正在使用的 GPU。
另一个类似的方法是执行:
lsof -p PID | fgrep /dev/dri
您可以使用以下方式同时概览所有程序:
fuser -v /dev/dri/*