user2413 Asked: 2010-10-10 09:14:28 +0800 CST2010-10-10 09:14:28 +0800 CST 2010-10-10 09:14:28 +0800 CST 如何获取 GPU 信息? 772 我正在寻找一个可以给我相同信息的命令: cat /proc/cpuinfo GPU除外(芯片和内存的类型,频率)。 command-line graphics gpu 24 个回答 Voted Marcel Stimberg 2010-10-10T09:31:08+08:002010-10-10T09:31:08+08:00 我不知道直接的等价物,但lshw应该给你你想要的信息,试试: sudo lshw -C display (它也可以在没有的情况下工作,sudo但信息可能不太完整/准确) 您还可以安装该软件包lshw-gtk以获取 GUI。 Best Answer greyfade 2010-10-10T09:30:45+08:002010-10-10T09:30:45+08:00 这种类型的信息是非标准的,您用来收集这些信息的工具差异很大。 如果驱动程序安装正确,该命令glxinfo将为您提供图形处理器的所有可用 OpenGL 信息,包括其供应商名称。 要获取时钟速度信息,没有标准工具。 对于运行旧版 Catalyst 驱动程序的 ATI/AMD GPU,aticonfig --odgc应获取时钟频率,并aticonfig --odgt应获取温度数据。我不熟悉 AMDGPU-Pro,但应该存在类似的工具。 对于 NVIDIA GPU,该nvidia-smi工具将显示您可能想要的所有信息,包括时钟速度和使用情况统计信息。 我不知道开源驱动程序或英特尔或其他 GPU 的等效工具,但可以从lspci和lshw工具中获取有关硬件的其他信息。 knb 2013-12-20T01:50:39+08:002013-12-20T01:50:39+08:00 这里有一篇关于命令行工作的博客文章: http://www.cyberciti.biz/faq/howto-find-linux-vga-video-card-ram/ 找出设备ID: lspci | grep ' VGA ' | cut -d" " -f 1 03:00.0 然后您可以再次使用此输出lspci,形成两个嵌套命令 lspci -v -s $(lspci | grep ' VGA ' | cut -d" " -f 1) 如果您有超过 1 个 GPU 卡,请尝试使用以下等效命令: lspci | grep ' VGA ' | cut -d" " -f 1 | xargs -i lspci -v -s {} 我系统的输出: 03:00.0 VGA compatible controller: NVIDIA Corporation G98 [Quadro NVS 295] (rev a1) (prog-if 00 [VGA controller]) Subsystem: NVIDIA Corporation Device 062e Flags: bus master, fast devsel, latency 0, IRQ 24 Memory at f6000000 (32-bit, non-prefetchable) [size=16M] Memory at ec000000 (64-bit, prefetchable) [size=64M] Memory at f4000000 (64-bit, non-prefetchable) [size=32M] I/O ports at dc80 [size=128] [virtual] Expansion ROM at f7e00000 [disabled] [size=128K] Capabilities: <access denied> Kernel driver in use: nvidia <access denied>编辑:您可以通过启动来避免sudo 因此,(prefetchable) [size=64M)表明我有一张 64 MB 的 NVIDIA 卡。但是,我没有,它是 256 MB。为什么?见下文。 要了解如何从中获得最大的信息和性能,请阅读 Arch-Linux Wiki 上一篇非常全面的文章 https://wiki.archlinux.org/index.php/NVIDIA 对于nvidia 用户,从 nvidia-smi (这适用于安装的 Nvidia 驱动程序,但不适用于运行开源“nouveau”驱动程序的系统)。 输出 Thu Dec 19 10:54:18 2013 +------------------------------------------------------+ | NVIDIA-SMI 5.319.60 Driver Version: 319.60 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 Quadro NVS 295 Off | 0000:03:00.0 N/A | N/A | | N/A 73C N/A N/A / N/A | 252MB / 255MB | N/A Default | +-------------------------------+----------------------+----------------------+ +-----------------------------------------------------------------------------+ | Compute processes: GPU Memory | | GPU PID Process name Usage | |=============================================================================| | 0 Not Supported | +-----------------------------------------------------------------------------+ 这表明我有一个 256 MB GDDR3 显卡。 目前,我不知道如何为 Intel 和 AMD/ATI GPU 获取此信息。 Chris Uhlik 2012-11-15T23:35:47+08:002012-11-15T23:35:47+08:00 运行google-chrome并导航到 URL about:gpu。如果 chrome 已经弄清楚如何使用 OpenGL,您将获得有关您的 GPU 的极其详细的信息。 hookenz 2015-04-02T13:22:36+08:002015-04-02T13:22:36+08:00 因为您cat为 CPU 指定了类似的命令,所以这与 GPU 相同。专门用于 Nvidia 卡。除了加载 Nvidia 设备驱动程序外,它不需要任何软件。 这里的路径适用于我拥有的卡片。但是正如其他人在评论中指出的那样,您的可能会有所不同。 第一个 GPU > cat /proc/driver/nvidia/gpus/0/information Model: GeForce GTX 680 IRQ: 24 GPU UUID: GPU-71541068-cded-8a1b-1d7e-a093a09e9842 Video BIOS: 80.04.09.00.01 Bus Type: PCIe DMA Size: 40 bits DMA Mask: 0xffffffffff Bus Location: 0000:01.00.0 第二个 GPU > cat /proc/driver/nvidia/gpus/1/information Model: GeForce GTX 580 IRQ: 33 GPU UUID: GPU-64b1235c-51fc-d6f1-0f0e-fa70320f7a47 Video BIOS: 70.10.20.00.01 Bus Type: PCIe DMA Size: 40 bits DMA Mask: 0xffffffffff Bus Location: 0000:08.00.0 Quanlong 2017-06-26T21:48:59+08:002017-06-26T21:48:59+08:00 对于 Nvidia 卡,键入 nvidia-smi -q Ciro Santilli OurBigBook.com 2015-11-03T02:14:44+08:002015-11-03T02:14:44+08:00 信息 sudo apt-get install clinfo clinfo 是 OpenCL 的类似物,glxinfo但我的 GPU 设置在以下位置进行了描述:https ://stackoverflow.com/questions/7542808/how-to-compile-opencl-on-ubuntu/33483311#33483311 Ubuntu 20.04 设置 -> 关于 您可以通过单击右上角的菜单打开设置,也可以执行以下操作: 超级键(又名 Windows 键) 键入“关于”并选择条目 所以在“图形”下,我可以看到我的 GPU 型号是“Quadro M1200/PCIe/SSE2”。 英伟达设置 将运行时与一些静态信息混合。 更多详细信息:如何检查 Ubuntu 是否在使用我的 NVIDIA 显卡? HaoZeke 2017-12-11T08:37:24+08:002017-12-11T08:37:24+08:00 我相信最好的选择是neofetch。 # Get neofetch sudo add-apt-repository ppa:dawidd0811/neofetch sudo apt update sudo apt install neofetch # Run neofetch neofetch 这给出了这样的输出: Elder Geek 2017-12-12T05:52:46+08:002017-12-12T05:52:46+08:00 对于模型和内存来说,这真的不是那么复杂,这里有一个 1 衬里,适用于我测试过的每张显卡,无论制造商(英特尔、AMD、NVIDIA)如何: GPU=$(lspci | grep VGA | cut -d ":" -f3);RAM=$(cardid=$(lspci | grep VGA |cut -d " " -f1);lspci -v -s $cardid | grep " prefetchable"| cut -d "=" -f2);echo $GPU $RAM GPU=所有这个位所做的就是从 'lspci' 输出中获取第三个字段,该输出通过 'grep' 过滤,用于对应于视频芯片的 VGA。 RAM=所有这个位所做的都是将变量设置cardid为匹配“VGA”的输出的第一个字段,并将其作为对该特定设备的详细输出lspci的请求提供,进一步过滤输出字符串“prefetchable”,因为它包含卡本身的内存(注意前面的空格,因为我们不想在输出中匹配“不可预取”。-vlspci-sgrep 用于 Intel 集成显卡的时钟频率(在 I3 和 I5 上测试) 执行命令sudo find /sys -type f -name gt_cur* -print0 | xargs -0 cat 这将深入到 /sys 树中以找到 gt_cur_freq_mhz 文件,该文件位于我的 I3 上/sys/devices/pci0000:00/0000:00:02.0/drm/card0/gt_cur_freq_mhz并打印内容。在我的情况下,在极轻负载的情况下350,350 MHz 对应于/sys/devices/pci0000:00/0000:00:02.0/drm/card0/gt_min_freq_mhz运行时的最小频率glxgears,glmark2结果 1050为 1050 MHz,对应于/sys/devices/pci0000:00/0000:00:02.0/drm/card0/gt_max_freq_mhz 对于 nvidia 卡上的时钟频率: nvidia-smi -stats -d procClk对应GPU时钟 nvidia-smi -stats -d memClk对应内存时钟。 注意:我无法测试上述内容,因为不支持我信赖的 GeForce 210,并且这仅适用于 Kepler 或更新的 GPU,如 `nvidia-smi -stats --help' 所示 我目前没有针对 AMD 卡的时钟频率的任何解决方案,也没有可用于测试的硬件。但是,我会说,据我所知aticonfig,已接受的答案中提到的内容已不复存在,而且nvclock自可信赖以来,它似乎不适用于任何东西。 kmario23 2019-04-16T07:59:11+08:002019-04-16T07:59:11+08:00 如果您只查找机器上视频卡的名称,则只需使用: $ nvidia-smi --list-gpus 对于一些较新的 GPU,这还列出了每个设备的内存。
我不知道直接的等价物,但lshw应该给你你想要的信息,试试:
(它也可以在没有的情况下工作,
sudo
但信息可能不太完整/准确)您还可以安装该软件包
lshw-gtk
以获取 GUI。这种类型的信息是非标准的,您用来收集这些信息的工具差异很大。
如果驱动程序安装正确,该命令
glxinfo
将为您提供图形处理器的所有可用 OpenGL 信息,包括其供应商名称。要获取时钟速度信息,没有标准工具。
aticonfig --odgc
应获取时钟频率,并aticonfig --odgt
应获取温度数据。我不熟悉 AMDGPU-Pro,但应该存在类似的工具。nvidia-smi
工具将显示您可能想要的所有信息,包括时钟速度和使用情况统计信息。我不知道开源驱动程序或英特尔或其他 GPU 的等效工具,但可以从
lspci
和lshw
工具中获取有关硬件的其他信息。这里有一篇关于命令行工作的博客文章:
http://www.cyberciti.biz/faq/howto-find-linux-vga-video-card-ram/
找出设备ID:
然后您可以再次使用此输出
lspci
,形成两个嵌套命令如果您有超过 1 个 GPU 卡,请尝试使用以下等效命令:
lspci | grep ' VGA ' | cut -d" " -f 1 | xargs -i lspci -v -s {}
我系统的输出:
<access denied>
编辑:您可以通过启动来避免sudo
因此,
(prefetchable) [size=64M)
表明我有一张 64 MB 的 NVIDIA 卡。但是,我没有,它是 256 MB。为什么?见下文。要了解如何从中获得最大的信息和性能,请阅读 Arch-Linux Wiki 上一篇非常全面的文章
https://wiki.archlinux.org/index.php/NVIDIA
对于nvidia 用户,从
(这适用于安装的 Nvidia 驱动程序,但不适用于运行开源“nouveau”驱动程序的系统)。
输出
这表明我有一个 256 MB GDDR3 显卡。
目前,我不知道如何为 Intel 和 AMD/ATI GPU 获取此信息。
运行
google-chrome
并导航到 URLabout:gpu
。如果 chrome 已经弄清楚如何使用 OpenGL,您将获得有关您的 GPU 的极其详细的信息。因为您
cat
为 CPU 指定了类似的命令,所以这与 GPU 相同。专门用于 Nvidia 卡。除了加载 Nvidia 设备驱动程序外,它不需要任何软件。这里的路径适用于我拥有的卡片。但是正如其他人在评论中指出的那样,您的可能会有所不同。
第一个 GPU
第二个 GPU
对于 Nvidia 卡,键入
信息
是 OpenCL 的类似物,
glxinfo
但我的 GPU 设置在以下位置进行了描述:https ://stackoverflow.com/questions/7542808/how-to-compile-opencl-on-ubuntu/33483311#33483311Ubuntu 20.04 设置 -> 关于
您可以通过单击右上角的菜单打开设置,也可以执行以下操作:
所以在“图形”下,我可以看到我的 GPU 型号是“Quadro M1200/PCIe/SSE2”。
英伟达设置
将运行时与一些静态信息混合。
更多详细信息:如何检查 Ubuntu 是否在使用我的 NVIDIA 显卡?
我相信最好的选择是neofetch。
这给出了这样的输出:
对于模型和内存来说,这真的不是那么复杂,这里有一个 1 衬里,适用于我测试过的每张显卡,无论制造商(英特尔、AMD、NVIDIA)如何:
GPU=$(lspci | grep VGA | cut -d ":" -f3);RAM=$(cardid=$(lspci | grep VGA |cut -d " " -f1);lspci -v -s $cardid | grep " prefetchable"| cut -d "=" -f2);echo $GPU $RAM
GPU=所有这个位所做的就是从 'lspci' 输出中获取第三个字段,该输出通过 'grep' 过滤,用于对应于视频芯片的 VGA。
RAM=所有这个位所做的都是将变量设置
cardid
为匹配“VGA”的输出的第一个字段,并将其作为对该特定设备的详细输出lspci
的请求提供,进一步过滤输出字符串“prefetchable”,因为它包含卡本身的内存(注意前面的空格,因为我们不想在输出中匹配“不可预取”。-v
lspci
-s
grep
用于 Intel 集成显卡的时钟频率(在 I3 和 I5 上测试)
执行命令
sudo find /sys -type f -name gt_cur* -print0 | xargs -0 cat
这将深入到 /sys 树中以找到 gt_cur_freq_mhz 文件,该文件位于我的 I3 上/sys/devices/pci0000:00/0000:00:02.0/drm/card0/gt_cur_freq_mhz
并打印内容。在我的情况下,在极轻负载的情况下350
,350 MHz 对应于/sys/devices/pci0000:00/0000:00:02.0/drm/card0/gt_min_freq_mhz
运行时的最小频率glxgears
,glmark2
结果1050
为 1050 MHz,对应于/sys/devices/pci0000:00/0000:00:02.0/drm/card0/gt_max_freq_mhz
对于 nvidia 卡上的时钟频率:
nvidia-smi -stats -d procClk
对应GPU时钟nvidia-smi -stats -d memClk
对应内存时钟。注意:我无法测试上述内容,因为不支持我信赖的 GeForce 210,并且这仅适用于 Kepler 或更新的 GPU,如 `nvidia-smi -stats --help' 所示
我目前没有针对 AMD 卡的时钟频率的任何解决方案,也没有可用于测试的硬件。但是,我会说,据我所知
aticonfig
,已接受的答案中提到的内容已不复存在,而且nvclock
自可信赖以来,它似乎不适用于任何东西。如果您只查找机器上视频卡的名称,则只需使用:
对于一些较新的 GPU,这还列出了每个设备的内存。