如何检查程序正在使用什么 GPU?

如何检查程序正在使用什么 GPU?

我的联想 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 打开的?

NVIDIA X 服务器设置

答案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/*

相关内容