2026/8/14 18:23:18

Linux系统显卡信息查看全攻略:从命令行查询到性能定位

Linux系统显卡信息查看全攻略:从命令行查询到性能定位 1. 项目概述为什么在Linux下查看显卡信息是个技术活刚接触Linux尤其是Ubuntu这类桌面发行版的朋友可能都遇到过类似困扰想装个显卡驱动打打游戏或者跑点机器学习结果第一步“看看我电脑里装的是什么显卡”就给卡住了。在Windows下这事儿简单得跟喝水一样右键“此电脑”-“管理”-“设备管理器”显卡型号一目了然。但到了Linux命令行界面面对黑底白字的终端新手往往一脸茫然不知道从何敲起。这不仅仅是查看一个型号那么简单它背后涉及到驱动兼容性、性能评估、乃至系统稳定性。我自己在给实验室服务器配置深度学习环境或者帮朋友优化老旧笔记本的Ubuntu体验时第一步永远是先摸清显卡的“底细”。显卡信息就像硬件的身份证驱动是它的通行证而性能天梯图则是它的能力排行榜。三者结合你才能做出正确的决策是该安装专有的NVIDIA驱动还是开源的Nouveau驱动这块显卡能否带动你想跑的CUDA应用它和市面上其他显卡相比处在什么水平所以今天我就把自己在Ubuntu下摸爬滚打多年查看和分析显卡信息的全套方法整理出来从最基础的命令行查询到深入解读每一行输出信息的含义最后再教你如何利用“天梯图”进行横向对比。无论你是刚入门的新手还是需要管理多台Linux工作站的老手这套流程都能让你对系统的图形硬件了如指掌。2. 核心思路与工具选型命令行是我们的主战场在Linux世界尤其是服务器环境或无图形界面的最小化安装中图形化工具并非总是可用。因此掌握命令行工具是必备技能。我们的核心思路是由简入繁从普遍到专用。首先使用系统内置的、最通用的工具进行快速识别和概览如果发现是主流独立显卡特别是NVIDIA再动用厂商提供的专用工具进行深度信息挖掘和驱动管理。基于这个思路我通常会准备以下几类工具它们各有侧重共同构成一个完整的诊断链条系统级侦察兵lspci和lshw这是我们的第一道也是最可靠的一道防线。lspci命令直接查询系统的PCI/PCIe总线所有通过这类总线连接的设备包括显卡、网卡、声卡都无所遁形。它的优势是极其底层和直接不依赖任何特定显卡驱动只要系统能识别PCI设备它就能工作。lshw则是一个更强大的硬件列表工具它能以更结构化的方式展示包括显卡在内的所有硬件信息。图形栈情报员glxinfo和inxi当系统已经安装了图形界面和基础的图形驱动如X11的Mesa驱动后我们可以使用这类工具。glxinfo属于Mesa项目专门用于查询OpenGL渲染相关的信息它能告诉你当前正在使用哪个显卡进行3D渲染以及支持的OpenGL版本等对于判断图形功能是否正常至关重要。inxi是一个功能极其全面的系统信息脚本它的一大优点就是能用一句人类可读性很高的命令汇总出CPU、显卡、内存等关键信息非常适合快速汇报或诊断。厂商特派员NVIDIAnvidia-smi这是NVIDIA显卡在安装官方驱动后的“控制面板”。它提供的信息是最权威、最详细的包括显卡型号、驱动版本、GPU利用率、显存占用、温度、功耗等实时监控数据。对于使用NVIDIA显卡进行深度学习、科学计算或游戏的用户来说nvidia-smi是日常必备工具。注意工具的选择取决于你的目标。如果只是想确认显卡型号lspci足矣。如果需要判断当前生效的驱动和渲染状态就需要glxinfo或inxi。如果是NVIDIA用户并需要监控和管理那么nvidia-smi是终极答案。3. 实操详解一使用通用命令探查显卡型号让我们打开终端从最基础、最通用的命令开始。请放心以下所有命令都不需要root权限即可查看信息。3.1 利器lspci精准定位PCI设备lspci是pciutils软件包的一部分Ubuntu通常预装。它的核心作用是列出所有PCI总线上的设备。基础查询直接在终端输入lspci你会看到一长串设备列表。为了快速找到显卡我们需要用grep进行过滤。显卡在PCI分类中通常属于“VGA兼容控制器”或“3D控制器”。lspci | grep -E “VGA|3D|Display”这条命令会筛选出所有包含 VGA、3D 或 Display 关键词的行这基本上就是你的显卡包括集成显卡和独立显卡。输出解读示例假设你看到这样一行01:00.0 VGA compatible controller: NVIDIA Corporation GA106 [GeForce RTX 3060 Lite Hash Rate] (rev a1)我们来拆解它01:00.0 PCI总线地址总线:设备.功能。这在多显卡系统或排查设备冲突时有用。VGA compatible controller 设备类型。NVIDIA Corporation 设备制造商。GA106 芯片的核心代号GPU芯片型号。[GeForce RTX 3060 Lite Hash Rate] 显卡的市场型号名这是我们最关心的部分。(rev a1) 芯片修订版本。获取更详细信息lspci的-vverbose详细、-vv更详细、-vvv最详细选项可以显示设备的更多配置空间信息包括驱动模块kernel driver in use和内存映射地址等。lspci -v -s 01:00.0这里-s 01:00.0指定了上面看到的那个PCI地址只查看该设备的信息。在输出中找到Kernel driver in use:这一行它能告诉你当前内核正在使用哪个驱动模块例如nvidia或nouveau这对于驱动问题排查非常关键。3.2 全面扫描lshw获取结构化硬件报告lshw命令可以生成一份结构非常清晰的硬件报告。为了专注于显卡我们使用-c display来只显示显示类设备。sudo lshw -c display注意lshw需要sudo权限来获取一些详细信息如时钟频率、驱动信息。如果你只是想看型号可以不加sudo但信息会简略一些。输出解读示例lshw的输出是树形结构非常易读。*-display description: VGA compatible controller product: GA106 [GeForce RTX 3060 Lite Hash Rate] vendor: NVIDIA Corporation physical id: 0 bus info: pci0000:01:00.0 version: a1 width: 64 bits clock: 33MHz capabilities: pm msi pciexpress vga_controller bus_master cap_list rom configuration: drivernvidia latency0 resources: irq:36 memory:f6000000-f6ffffff memory:e0000000-efffffff memory:f0000000-f1ffffff ioport:e000(size128) memory:f7000000-f707ffff这里的信息比lspci更丰富product和vendor直接给出了产品和厂商。configuration: drivernvidia明确指出了正在使用的驱动是nvidia。resources部分显示了显卡占用的内存和I/O端口资源在高级调试中会用到。3.3 快速汇总inxi一键获取友好报告inxi并非默认安装但非常值得拥有。你可以通过sudo apt install inxi来安装它。 查看显卡信息的命令非常简单inxi -G-G参数代表 Graphics图形。它的输出是高度概括且对人类友好的Graphics: Device-1: NVIDIA GA106 [GeForce RTX 3060 Lite Hash Rate] driver: nvidia v: 535.154.05 Display: x11 server: X.Org v: 21.1.11 driver: X: loaded: nvidia unloaded: fbdev,modesetting,nouveau,vesa gpu: nvidia resolution: 1920x1080~60Hz API: OpenGL v: 4.6.0 NVIDIA 535.154.05 renderer: NVIDIA GeForce RTX 3060/PCIe/SSE2短短几行它告诉了你设备型号和驱动版本。当前显示服务器X.Org和它加载的驱动。当前屏幕分辨率。正在使用的OpenGL API版本和渲染器。对于快速系统诊断或向他人寻求帮助时inxi -G的输出信息是最佳选择。4. 实操详解二深入图形栈与厂商工具知道了显卡型号我们还需要了解它当前的工作状态系统真的在用这块显卡吗用的是开源驱动还是闭源驱动性能如何这就需要用到图形栈和厂商专用工具。4.1 探查OpenGL状态glxinfo命令glxinfo是 Mesa 工具集的一部分通常通过mesa-utils包安装 (sudo apt install mesa-utils)。它报告当前X11环境下OpenGL的详细信息。关键用法glxinfo | grep “OpenGL renderer”这条命令直接过滤出正在负责OpenGL渲染的设备这是判断当前实际生效的显卡的金标准。例如在同时有英特尔集成显卡和NVIDIA独立显卡的笔记本上即使NVIDIA驱动已安装系统默认可能仍在使用集成显卡进行渲染以节省电量。这条命令能让你立刻看清真相。输出示例OpenGL renderer string: NVIDIA GeForce RTX 3060/PCIe/SSE2这明确表示当前3D渲染工作是由这块RTX 3060完成的。你还可以查看支持的OpenGL版本glxinfo | grep “OpenGL version”这对于一些依赖特定OpenGL版本的应用如某些游戏或专业软件非常重要。4.2 NVIDIA用户的瑞士军刀nvidia-smi如果你确认系统使用的是NVIDIA显卡并安装了官方驱动那么nvidia-smi(NVIDIA System Management Interface) 就是你最强大的工具。它不仅能看信息还能监控和管理。基础信息查询直接运行nvidia-smi你会看到一个格式清晰的表格和列表。输出解读关键字段—————————————————————————————— | NVIDIA-SMI 535.154.05 Driver Version: 535.154.05 | |——————————-———————-———————– | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | || | 0 NVIDIA GeForce … On | 00000000:01:00.0 On | N/A | | 30% 45C P8 23W / 170W | 1234MiB / 12288MiB | 7% Default | ——————————-———————-———————–Driver Version: NVIDIA驱动版本号。安装CUDA等工具链时必须选择与之匹配的版本。GPU Name: 显卡的完整名称。Bus-Id: 对应lspci中的PCI总线地址。Temp和Fan: GPU温度和风扇转速监控散热状态。Perf: 性能状态从P0最高到P12最低。P8通常代表低功耗状态。Pwr:Usage/Cap: 当前功耗 / 显卡设计功耗墙。Memory-Usage: 当前显存使用量 / 总显存。GPU-Util: GPU利用率百分比是判断显卡是否在忙碌工作的关键指标。高级监控与查询持续监控类似top命令watch -n 1 nvidia-smi这会每秒刷新一次nvidia-smi的信息非常适合在运行机器学习训练或图形渲染时实时观察状态。查看更详细的GPU信息nvidia-smi -q这会输出一份极其详尽的报告包括ECC错误计数、电源管理策略、时钟频率、产品架构等所有信息。查询显卡支持的CUDA版本nvidia-smi --query-gpucompute_cap --formatcsv输出计算能力如8.6这个数字决定了你的显卡最高支持哪个版本的CUDA。实操心得很多人在安装NVIDIA驱动后运行nvidia-smi报错“NVIDIA-SMI has failed because it couldn‘t communicate with the NVIDIA driver”。这几乎可以肯定是驱动未正确加载或内核模块有问题。可以按顺序排查1. 用lsmod | grep nvidia检查驱动模块是否加载2. 用dkms status检查DKMS状态3. 查看系统日志sudo dmesg | grep -i nvidia寻找错误线索。通常重新安装匹配内核版本的驱动可以解决。5. 显卡天梯图的理解与应用在Linux语境下的性能定位查清了显卡型号下一个问题自然是“我这块卡到底算什么水平” 这时就需要“显卡天梯图”了。天梯图本质上是一个非官方的、社区维护的显卡性能排名表它将不同世代、不同厂商的显卡放在同一个维度上进行粗略的性能排序。5.1 天梯图是什么我们看什么天梯图并不是一个精确的基准测试分数而是一个相对性能的直观参考。它通常以竖排列表形式呈现位置越高代表综合性能越强。对于Linux用户我们关注天梯图主要有两个核心作用驱动与软件兼容性预判许多Linux上的专业软件如Blender、DaVinci Resolve或游戏通过Proton/Steam Play对显卡性能有最低要求。通过天梯图你可以快速判断你的硬件是否满足软件的推荐配置。例如如果软件推荐“GTX 1060或同等性能以上”你可以在天梯图上找到自己显卡的位置看是否在1060之上。升级与采购决策当你考虑为Linux主机升级显卡或在二手市场淘一块卡时天梯图能帮你快速了解候选显卡的性能档位避免被型号数字迷惑例如知道RTX 3050的性能实际可能不如上一代的RTX 2060。5.2 如何为你的Linux显卡找到天梯图定位网上有许多网站持续更新天梯图例如 TechPowerUP、PassMark、Videocardz 等。使用起来很简单确定你的准确显卡型号这就是我们前面章节所做工作的价值。你必须精确到具体型号例如“NVIDIA GeForce RTX 3060 12GB LHR”而不是简单的“RTX 3060”因为不同显存版本、不同厂商的超频版可能存在细微差异。访问可靠的天梯图网站在浏览器中打开上述任一网站。使用页面搜索功能CtrlF在页面内直接搜索你的显卡型号关键词如“RTX 3060”。横向与纵向对比纵向同代对比看看它和同代产品如RTX 3060 Ti, RTX 3070的相对位置。横向跨代对比看看它和上一代如RTX 2060 Super、上上代如GTX 1080显卡的性能对比。这对于从旧卡升级的用户非常有参考价值。5.3 重要提醒天梯图在Linux下的局限性直接将Windows下的天梯图排名完全套用到Linux环境需要保持一份谨慎主要因为驱动和软件生态的差异驱动成熟度差异NVIDIA的闭源驱动在Linux和Windows下性能表现通常比较接近。但是对于AMD和英特尔显卡情况更复杂。AMD的开源驱动amdgpu近年来进步神速在许多游戏中性能已接近甚至超越Windows驱动但并非所有游戏或应用都优化到位。英特尔独立显卡的Linux驱动仍在快速发展中性能可能与Windows版有较大差距。因此查看天梯图时最好能结合一些Linux平台的特定评测。API支持差异一些天梯图排名可能基于DirectX性能。而在Linux上游戏主要通过Vulkan或OpenGL运行通过Proton转换层。虽然Vulkan是跨平台的但不同驱动对Vulkan的实现优化仍有差别。所以对于Linux游戏玩家关注显卡在Vulkan基准测试如vulkan端口下的《毁灭战士永恒》中的表现更有意义。计算性能如果你关注的是机器学习CUDA或科学计算OpenCL那么天梯图的游戏排名参考价值有限。你需要查找针对特定计算框架如CUDA Core数量、Tensor Core性能、FP32/FP64算力的专门排名或评测。个人经验我有一台搭载AMD RX 6700 XT的Linux主机。在Windows天梯图上它的位置很明确。但在Linux上我发现在使用Vulkan API的新游戏中它的表现完全符合甚至偶尔超越天梯图预期而在一些较老的、仅支持OpenGL的游戏中性能则波动较大。因此我的建议是将天梯图作为一个强大的“初步筛选工具”但在做最终决定前务必搜索一下你的目标显卡搭配你常用的Linux发行版如Ubuntu 22.04/24.04和驱动如Mesa/NVIDIA特定版本的实际用户反馈或评测。6. 信息整合与驱动管理实战现在我们已经掌握了查看信息的方法和性能评估的参考。让我们把这些知识串联起来完成几个Linux桌面用户最常见的实战任务。6.1 实战案例一为未知显卡安装合适的NVIDIA驱动这是最经典的问题。你刚装好Ubuntu系统可能在使用性能较弱的开源nouveau驱动你需要安装官方驱动以获得最佳性能和功能。标准操作流程识别显卡型号lspci | grep -E “VGA|3D”记下输出中的型号例如“GeForce RTX 4060”。访问NVIDIA官网或使用Ubuntu附加驱动推荐方法新手友好打开“软件和更新”应用切换到“附加驱动”标签页。系统会自动检测你的显卡并列出推荐的专有驱动版本。选择一个带“proprietary, tested”标识的版本通常是较新的版本进行安装。这是最安全、最省事的方法。手动方法高级用户根据显卡型号和你的需求是否需要CUDA去NVIDIA官网查找对应的驱动版本。但更建议使用NVIDIA官方提供的PPA仓库来安装和管理驱动# 添加Graphics Drivers PPA sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt update # 查找可用的驱动版本 ubuntu-drivers devices # 安装推荐的驱动或指定版本 sudo apt install nvidia-driver-550 # 以550版本为例安装后验证nvidia-smi如果正确显示显卡信息则安装成功。同时可以运行glxinfo | grep “OpenGL renderer”确认渲染器已切换到NVIDIA。6.2 实战案例二诊断双显卡切换问题许多笔记本电脑同时拥有英特尔或AMD集成显卡和NVIDIA独立显卡。在Linux上实现像Windows那样自动、无缝的显卡切换Optimus技术需要额外的配置。症状nvidia-smi能识别独显但glxinfo显示渲染器是英特尔集成显卡且独显一直处于低功耗状态游戏或应用性能低下。解决方案你需要一个显卡切换管理工具。目前主流的选择是NVIDIA PrimeUbuntu官方集成的方式。安装驱动后你可以在“NVIDIA X Server Settings”里选择用哪块显卡但需要注销重新登录才能生效。命令行切换如下# 切换到NVIDIA显卡 sudo prime-select nvidia # 切换到集成显卡 sudo prime-select intel # 查询当前模式 prime-select queryNVIDIA On-Demand Mode (使用nvidia-prime)这是较新的方式允许在需要时动态调用独显。通常与nvidia-prime包一起工作。确保已安装nvidia-driver和nvidia-prime。诊断步骤用prime-select query查看当前模式。用glxinfo | grep “OpenGL renderer”确认当前生效的渲染GPU。运行一个测试程序如glxgears同时用watch -n 1 nvidia-smi观察独显的GPU-Util是否上升。如果模式是nvidia但利用率仍是0%可能是程序没有通过正确的渲染通道。6.3 实战案例三解读信息以解决常见问题问题屏幕撕裂或闪烁查看信息运行inxi -G关注Display:行。如果driver:后面是modesetting或fbdev说明可能在使用非常基础的开源驱动性能不佳。行动尝试安装完整的显卡驱动如对于AMD安装mesa-vulkan-drivers等对于NVIDIA安装专有驱动。对于NVIDIA还可以在“NVIDIA X Server Settings”中强制开启“Force Composition Pipeline”来缓解撕裂。问题CUDA程序报错“不支持的GPU”或“计算能力不足”查看信息运行nvidia-smi --query-gpucompute_cap --formatcsv获取计算能力如8.6。行动查阅你使用的CUDA版本或深度学习框架如PyTorch, TensorFlow的官方文档确认其支持的计算能力列表。你的GPU计算能力必须大于等于框架要求的最低值。如果GPU太新或太旧可能需要升级/降级CUDA版本或寻找支持旧GPU的框架版本。问题显存不足OOM错误查看信息运行nvidia-smi查看Memory-Usage。行动监控是哪个进程占用了大量显存nvidia-smi会显示进程列表。考虑优化模型批量大小、使用梯度检查点技术、或者使用多GPU数据并行来分摊显存压力。7. 自动化脚本与进阶监控对于需要经常管理多台机器或进行深度运维的用户将上述命令封装成脚本或使用更强大的监控工具会极大提升效率。7.1 编写一个一键显卡信息收集脚本创建一个脚本文件比如gpu_info.sh#!/bin/bash echo “ PCI设备信息 ” lspci | grep -E “VGA|3D|Display” echo -e “\n 硬件列表信息 ” sudo lshw -c display 2/dev/null | head -30 # 限制输出行数 echo -e “\n 图形系统摘要 ” if command -v inxi /dev/null; then inxi -G else echo “inxi 未安装请运行 ‘sudo apt install inxi’ 安装。” fi echo -e “\n OpenGL渲染器 ” if command -v glxinfo /dev/null; then glxinfo | grep “OpenGL renderer” else echo “glxinfo 未安装请运行 ‘sudo apt install mesa-utils’ 安装。” fi echo -e “\n NVIDIA GPU状态 (如适用) ” if command -v nvidia-smi /dev/null; then nvidia-smi --query-gpuname,driver_version,memory.total,temperature.gpu --formatcsv,noheader else echo “未检测到NVIDIA驱动 (nvidia-smi 命令不存在)。” fi给脚本添加执行权限chmod x gpu_info.sh然后运行./gpu_info.sh它就会自动运行一系列检查并输出一份整洁的报告。7.2 使用gpustat进行更美观的实时监控nvidia-smi功能强大但格式固定。gpustat是一个基于Python的增强版监控工具它用更紧凑、彩色的格式显示信息并且可以像watch命令一样持续运行。# 安装 pip install gpustat # 使用类似 nvidia-smi gpustat # 持续监控每秒刷新 gpustat -i 1它的输出更易读特别是当你有多个GPU时能一眼看清每块卡的状态。7.3 将GPU监控集成到系统监控工具对于服务器你可以将nvidia-smi的输出集成到像PrometheusGrafana这样的专业监控栈中。这通常需要一个导出器exporter例如nvidia_gpu_prometheus_exporter或dcgm-exporterNVIDIA官方。它们会将GPU的指标利用率、温度、显存等转换为Prometheus可以抓取的格式从而在Grafana上创建丰富的监控仪表盘。这对于管理深度学习训练集群或渲染农场至关重要。整个过程涉及配置导出器、Prometheus抓取规则和Grafana面板是一个相对进阶的主题但却是生产环境中的标准做法。当你需要历史趋势、报警和集中式监控时这是必经之路。