我正在寻找一条命令,该命令将提供与以下信息相同的信息:

cat /proc/cpuinfo 


GPU除外(芯片和内存的类型,频率)。

评论

做什么:cat / proc / cpuinfo?您在寻找什么信息?

@CharlieParker它输出CPU的信息...

#1 楼

这类信息是非标准的,收集信息所使用的工具也大不相同。

命令glxinfo将为您提供图形处理器的所有可用OpenGL信息,包括其供应商名称(如果有)。驱动程序已正确安装。

要获取时钟速度信息,没有标准工具。


对于运行旧Catalyst驱动程序的ATI / AMD GPU,aticonfig --odgc应该获取时钟速率,并且aticonfig --odgt应该获取温度数据。我不熟悉AMDGPU-Pro,但应该有一个类似的工具。
对于NVIDIA GPU,nvidia-smi工具将显示您想要的所有信息,包括时钟速度和使用情况统计信息。

我不知道有用于开源驱动程序或Intel或其他GPU的等效工具,但是可以从lspcilshw工具获取有关硬件的其他信息。

评论


如何安装glxinfo?

–stiv
15年3月13日在13:40

@stiv:它是Mesa库的一部分,并且在Ubuntu上附带了mesa-utils软件包。

– Greyfade
15年3月13日在18:20

自fglrx退役以来,aticonfig似乎不可用。自从上一版发布以来,nvclock似乎也已被放弃。您有更新的解决方案吗?到目前为止,这就是我所拥有的..

–古怪的长老
17年12月14日在23:16

glxinfo | grep“设备”在Intel GPU上对我来说足够好

–约翰·汉密尔顿
18年5月26日在14:10

我使用:glxinfo | egrep -i'设备|内存'

–danger89
19年1月2日在20:37

#2 楼

我不知道直接等效的内容,但是lshw应该会为您提供所需的信息,请尝试:

sudo lshw -C display


(它也可以在没有sudo的情况下工作,但信息可能会更少完整/准确)

还可以安装软件包lshw-gtk以获取GUI。

评论


必须将gksu放在菜单中的命令之前,以使lshw-gtk正常工作。

–robin0800
2011-2-15在10:55

任何更新?我是该命令的粉丝,但似乎为我提供的唯一时钟频率(频率)是33MHz的基本总线时钟。我正在尝试更新此问答。谢谢!

–古怪的长老
17年12月14日在23:31

抱歉,是深度学习的新功能。如果我有GPU,应该怎么说?上面写着产品:第二代核心处理器系列集成图形控制器

–内森(Nathan)
18年4月17日在2:13

@Nathan这意味着您有一个GPU ....可能是一个非常弱的GPU。您的GPU表示集成的图形,这意味着它已集成到CPU中。您的CPU具有自己的组件,该组件可用作图形卡,并且可能(为了节省成本)使用普通的RAM来存储其缓冲区。您没有单独的独立可移动图形卡。

–杰克·吉芬(Jack Giffin)
20-05-13在0:03



#3 楼

有关在命令行上完成的工作的博客文章位于:

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上使用它。

评论


nvidia-smi +1(在我看来应该突出一点)

–马丁·托马
2014年9月7日15:23

如果有人有任何想法:nvidia-smi无限期挂起:可能是什么问题?

–弗朗克·德农库尔
16年8月9日在15:50



这确实应该是公认的答案!

–INElutTabile
18 Mar 27 '18 at 11:26

nvidia-smi没有显示完整的GPU名称。

–mrgloom
18年11月24日在15:15

@Quanlong建议使用nvidia-smi -q使用更合理的输出格式。

– Nickolay
19-10-27在9:47

#4 楼

运行google-chrome并导航到URL about:gpu
如果chrome了解了如何使用OpenGL,您将获得有关GPU的极其详细的信息。

评论


这也适用于Chromium(铬浏览器)。

– Eliah Kagan
17年7月2日在13:02

聪明。按照这些原则,我还去了chromeexperiments.com看到了那里的性能。像黄油一样光滑-我绝对会使用gpu

–杰克逊克
18年7月29日在17:49

#5 楼

因为您为CPU指定了类似cat的命令,所以这与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


评论


谢谢! (thoughcat /proc/driver/nvidia/gpus/0000\:01\:00.0/我的信息)

–马特·威尔基
2015年11月24日,下午3:54

这是按需云/ HPC群集环境中glxinfo或lspci都失败的唯一正确答案(前者是因为没有OpenGL和显示,后者是因为nVidia显卡由Matrox G200eW3等图形控制器抽象化)。对我来说,gpus下的文件夹名称是0000:3b:00.0或0000:d8:00.0,因此我们应该键入:cat /proc/driver/nvidia/gpus/0000:3b:00.0/information。漂亮的Tesla V100-PCIE-16GB模型表明,可以满足所需的qsub作业限制。

–user5280911
18-10-6在7:40

#6 楼

对于Nvidia卡,请键入

nvidia-smi -q


#7 楼

clinfo
sudo apt-get install clinfo
clinfo

glxinfo的类似物,但对于OpenCL,我的GPU设置在以下网址中进行了描述:https://stackoverflow.com/questions/7542808/how-to-compile-opencl-on-ubuntu/ 33483311#33483311
Ubuntu 20.04设置->关于
您可以通过单击右上菜单打开设置,也可以执行以下操作:

超级键(又名Windows键)
输入“ about”,然后选择条目

,因此在“ Graphics”下可以看到我的GPU模型是“ Quadro M1200 / PCIe / SSE2”。

nvidia-settings
混合一些静态信息的运行时。

更多详细信息:如何检查Ubuntu是否正在使用NVIDIA图形卡?

#8 楼

我确实认为最好的选择是neofetch。

# Get neofetch
sudo add-apt-repository ppa:dawidd0811/neofetch
sudo apt update
sudo apt install neofetch
# Run neofetch
neofetch


输出如下:

评论


我没有在此答案中看到显卡的频率和内存。有很多简单的方法可以获取GPU的模型,这似乎就是您所提供的。我不确定这会增加现有的答案。

–古怪的长老
17-12-10在17:16



screenfetch程序执行相同的操作,不需要安装PPA。

– Braden Best
18年1月30日在19:31

这是一个shell脚本。另外,我也链接到它的github,因此您可以将其用作脚本。

–郝泽科
18年1月30日在19:36

这是屏幕抓取:github.com/KittyKatt/screenFetch

– Camille Goudeseune
18年2月7日在21:31

#9 楼

对于模型和内存,这实际上并没有那么复杂,这是一个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'输出中获取第3个字段,该输出通过与视频芯片相对应的VGA通过'grep'进行了过滤。

RAM =所有这些功能是将变量cardid设置为与匹配“ VGA”的lspci的输出的第一个字段相等,并作为对该-v特定设备的lspci-s详细输出的请求进行馈送,并进一步通过grep过滤字符串“ prefetchable”的输出,因为它包含卡本身的内存(请注意前面的空格,因为我们不想在输出中匹配“不可预取”。)

用于英特尔集成显卡的时钟速率(在I3和I5上测试)

执行命令sudo find /sys -type f -name gt_cur* -print0 | xargs -0 cat
这跳入/ sys树中,找到gt_cur_freq_mhz
文件,在我的I3上是q 4312079q并打印内容。在我的情况下,在极轻的负载下为/sys/devices/pci0000:00/0000:00:02.0/drm/card0/gt_cur_freq_mhz,例如在350 MHz中,它对应于350中发现的最小频率,并且在运行/sys/devices/pci0000:00/0000:00:02.0/drm/card0/gt_min_freq_mhzglxgears时,会导致
glmark2为1050 MHz中,这对应于1050中发现的最大频率

对于nvidia卡的时钟速率:

/sys/devices/pci0000:00/0000:00:02.0/drm/card0/gt_max_freq_mhz对应于GPU时钟
nvidia-smi -stats -d procClk对应于内存时钟。

注意:我无法测试以上内容,因为不支持我可靠的GeForce 210,并且只能在Kepler或更新的GPU上运行,如
`nvidia-smi -stats --help'

我当前没有针对AMD卡的时钟速率的任何解决方案,也没有可用于测试的硬件。但是,据我所知,在接受的答案中提到的nvidia-smi -stats -d memClk不再存在,而且由于可信任,看来aticonfig不适用于任何事物。

#10 楼

Conky或终端启动屏幕
我使用两种方法自动显示nVidia GPU和Intel iGPU信息:

Conky实时动态动态显示GPU信息

~/.bashrc显示GPU每次打开终端时的信息


Conky实时显示
此示例使用Conky实时显示当前GPU(nVidia或Intel)状态。 Conky是一款轻巧的系统监视器,在许多Linux爱好者中都很流行。
显示内容会根据是否在prime-select intelprime-select nvidia之后启动而改变。
Intel iGPU


英特尔iGPU显示为Skylake GT2 HD 530 iGPU,当前频率为
最小频率为350 MHz,最大频率为1050 MHz

nVidia GPU


nVidia GPU显示为带有当前GPU频率和温度的GeForce GTX970M
显示驱动程序版本,P状态和BIOS版本
显示GPU负载,RAM使用,功耗和RAM频率

Conky代码
这是与Intel iGPU和nVidia GPU相关的Conky脚本:
#------------+
# Intel iGPU |
#------------+
${color orange}${hr 1}${if_match "intel" == "${execpi 99999 prime-select query}"}
${color2}${voffset 5}Intel® Skylake GT2 HD 530 iGPU @${alignr}${color green}${execpi .001 (cat /sys/class/drm/card1/gt_cur_freq_mhz)} MHz
${color}${goto 13}Min. Freq:${goto 120}${color green}${execpi .001 (cat /sys/class/drm/card1/gt_min_freq_mhz)} MHz${color}${goto 210}Max. Freq:${alignr}${color green}${execpi .001 (cat /sys/class/drm/card1/gt_max_freq_mhz)} MHz
${color orange}${hr 1}${else}
#------------+
# Nvidia GPU |
#------------+
${color2}${voffset 5}${execpi .001 (nvidia-smi --query-gpu=gpu_name --format=csv,noheader)} ${color1}@ ${color green}${execpi .001 (nvidia-smi --query-gpu=clocks.sm --format=csv,noheader)} ${alignr}${color1}Temp: ${color green}${execpi .001 (nvidia-smi --query-gpu=temperature.gpu --format=csv,noheader)}°C
${color1}${voffset 5}Ver: ${color green}${execpi .001 (nvidia-smi --query-gpu=driver_version --format=csv,noheader)} ${color1} P-State: ${color green}${execpi .001 (nvidia-smi --query-gpu=pstate --format=csv,noheader)} ${alignr}${color1}BIOS: ${color green}${execpi .001 (nvidia-smi --query-gpu=vbios_version --format=csv,noheader)}
${color1}${voffset 5}GPU:${color green}${execpi .001 (nvidia-smi --query-gpu=utilization.gpu --format=csv,noheader)} ${color1}Ram:${color green}${execpi .001 (nvidia-smi --query-gpu=utilization.memory --format=csv,noheader)} ${color1}Pwr:${color green}${execpi .001 (nvidia-smi --query-gpu=power.draw --format=csv,noheader)} ${alignr}${color1}Freq: ${color green}${execpi .001 (nvidia-smi --query-gpu=clocks.mem --format=csv,noheader)}
${color orange}${hr 1}${endif}



~/.bashrc终端启动屏幕
此示例将~/.bashrc修改为每次打开终端或在shell提示符下键入. .bashrc时,都会在初始屏幕上显示信息。
除了前面回答的neofetch之外,t这是screenfetch,看起来更好(IMO)。加上另一个答案,他不知道如何列出iGPU,并且可以这样做:

有关设置的详细信息,请参见:带有天气,日历,时间和Sysinfo的终端启动屏幕?
总而言之,仅在底部显示包含GPU信息的Ubuntu显示(第二行),请使用:
sudo apt install screenfetch
screenfetch

您需要将screenfetch命令放在~/.bashrc文件的底部,以使其每次出现打开终端的时间。

#11 楼

只是根据https://wiki.debian.org/NvidiaGraphicsDrivers#NVIDIA_Proprietary_Driver,找到基础知识,

lspci | grep VGA


如果您需要更多的信息,请参阅@knb回答同样的问题。

#12 楼

如果您有AMD Radeon卡,则可能要运行以下命令

sudo update-pciids #optional command, requires internet
lspci -nn | grep -E 'VGA|Display'


它应该报告类似这样的内容

00:01.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Wani [Radeon R5/R6/R7 Graphics] [1002:9874] (rev c5)
03:00.0 Display controller [0380]: Advanced Micro Devices, Inc. [AMD/ATI] Sun XT [Radeon HD 8670A/8670M/8690M / R5 M330 / M430 / R7 M520] [1002:6660] (rev ff)


评论


对于我的NVIDIA卡,这也是我的问题解决者。在官方CUDA安装指南中找到了此文件:docs.nvidia.com/cuda/cuda-installation-guide-linux/…

–鲍姆金
20 Mar 31 '20在8:41

#13 楼

对于nvidia GPU,nvidia-smi命令是您的朋友。
如果愿意,请参见man nvidia-smi

要列出GPU,请使用nvidia-smi -Lnvidia-smi --list-gpus),
nvidia-smi -q提供有关gpu和正在运行的进程。

#14 楼

如果您想获取简单的信息,可以尝试使用gpustat。这是非常好的和简单的。



作者给出以下安装说明:


从PyPI安装:

pip install gpustat 


通过
pip安装最新版本(主分支):

pip install git+https://github.com/wookayin/gpustat.git@master 


如果您
不要具有root特权,请尝试在用户名称空间上安装:
pip install --user。请注意,从v0.4开始,gpustat.py不再是零依赖性可执行文件。但是,在极少数情况下,您将需要单个可执行脚本(旧版),也可以尝试:

wget https://raw.githubusercontent.com/wookayin/gpustat/v0.3.2/gpustat.py -O ~/.local/bin/gpustat chmod +x ~/.local/bin/gpustat    # Assuming ~/.local/bin is in your $PATH



评论


仅支持NVIDIA。

– gormih
20-11-21在17:31

#15 楼

如果仅在计算机上查找视频卡的名称,则只需使用:

$ nvidia-smi --list-gpus


对于某些较新的GPU,这还将列出每个GPU的内存。设备。

评论


甚至更短:$ nvidia-smi -L

– Shayan Amani
20年5月18日在21:14

#16 楼

如果您在使用crouton的Chromebook上运行Ubuntu,那么唯一可行的答案就是在Chrome浏览器中访问chrome://gpu

#17 楼

好吧,此答案假设您有一台具有NVIDIA-GPU的服务器。您可以通过以下三种方式:


要简短的要点:nvidia-smi
要获取详细的要领:nvidia-smi -q。如果您的CPU数量超过1 gpu,您将获得多个屏幕的详细信息。
执行ls /proc/driver/nvidia/gpus/。它将GPU总线位置显示为文件夹。
现在,对每个gpu总线位置运行以下命令。用总线位置填充<gpu-id>cat /proc/driver/nvidia/gpus/<gpu_id>/information


#18 楼

对于Intel GMA950(特别是EeePC附带),您可以运行:

setpci -s 00:02.0 f0.b


它将为200MHz返回'00',对于250MHz或'03'返回'01'对于400MHz。您也许可以将相同的原理应用于其他Intel卡。

评论


我要04。我的GPU是00:02.0 VGA兼容控制器:英特尔公司移动GM965 / GL960集成图形控制器(主要)(修订版03)(编程-如果00 [VGA控制器])

–约翰尼为什么
19年9月19日在19:29

#19 楼

使用lspcilspci -v获取基本信息,请参见此处。

我以前运行lspci的情况下,得到的是:

dina@dina-X450LA:~$ lspci
00:02.0 VGA compatible controller: Intel Corporation Haswell-ULT Integrated Graphics Controller (rev 0b)
00:03.0 Audio device: Intel Corporation Haswell-ULT HD Audio Controller (rev 0b)
00:14.0 USB controller: Intel Corporation 8 Series USB xHCI HC (rev 04)
00:16.0 Communication controller: Intel Corporation 8 Series HECI #0 (rev 04)
00:1b.0 Audio device: Intel Corporation 8 Series HD Audio Controller (rev 04)
00:1c.0 PCI bridge: Intel Corporation 8 Series PCI Express Root Port 1 (rev e4)
00:1c.2 PCI bridge: Intel Corporation 8 Series PCI Express Root Port 3 (rev e4)
00:1c.3 PCI bridge: Intel Corporation 8 Series PCI Express Root Port 4 (rev e4)
00:1d.0 USB controller: Intel Corporation 8 Series USB EHCI #1 (rev 04)
00:1f.0 ISA bridge: Intel Corporation 8 Series LPC Controller (rev 04)
00:1f.2 SATA controller: Intel Corporation 8 Series SATA Controller 1 [AHCI mode] (rev 04)
00:1f.3 SMBus: Intel Corporation 8 Series SMBus Controller (rev 04)
02:00.0 Ethernet controller: Qualcomm Atheros QCA8171 Gigabit Ethernet (rev 10)
03:00.0 Network controller: Ralink corp. RT3290 Wireless 802.11n 1T/1R PCIe
03:00.1 Bluetooth: Ralink corp. RT3290 Bluetooth


#20 楼

为了获取有关图形处理器的所有信息,可以使用@greyfade指定的以下命令。

> glxinfo


但是,如果当前没有程序glxinfo安装后,您可以通过键入以下内容进行安装:

> sudo apt install mesa-utils


还必须启用名为universe的组件。完成此操作后,glxinfo将列出与该环境中的图形处理器相关的所有规格。

#21 楼

已针对GTX 1080Ti进行了测试-用于nvidia卡上的时钟速率-

nvidia-smi stats -d procClk corresponds to the Core clock 
nvidia-smi stats -d memClk corresponds to the Memory clock



用于每秒监视-

watch -n 1 nvidia-smi stats -d procClk -c 1



用于每秒监视一部分设备-

watch -n 1 nvidia-smi stats -d procClk -c 1 -i 0,1


基于Elder Geek的回答,并修改为每秒打印一次以进行检查进行热调节。
如果对GPU进行调节,则procClk会明显下降。

#22 楼

自xenial(https://packages.ubuntu.com/bionic/intel-gpu-tools)起,我们提供了intel_gpu_top来检查英特尔GPU的利用率。
apt-get install intel-gpu-tools

只有几个选项可用-请参阅man intel_gpu_top