在管理和维护基于CentOS的服务器或工作站时,了解系统硬件信息是一项基本且至关重要的技能,显卡(GPU)的信息查询尤为关键,无论是为了安装正确的驱动程序、进行性能监控、故障排查,还是为了部署机器学习、科学计算或图形渲染等高强度任务,都需要准确地识别和评估显卡状态,本文将系统性地介绍在CentOS环境下查询显卡信息的多种命令,从基础的硬件识别到驱动状态和性能监控,帮助您全面掌握这一技能。
基础通用命令:识别硬件存在
在进行任何深度操作之前,首先需要确认系统是否检测到了显卡硬件,以下两个命令是Linux环境下最常用且最可靠的硬件检测工具。
lspci
命令
lspci
(List PCI)是一个用于显示系统中所有PCI总线设备信息的工具,显卡通常通过PCIe接口连接,因此它是识别显卡硬件的首选命令。
基本用法:
直接在终端中输入 lspci
,会列出所有PCI设备,为了快速定位显卡,通常会结合 grep
命令进行过滤。
lspci | grep -i 'VGA|3D|Display'
这里的 -i
参数表示忽略大小写,VGA
、3D
和 Display
是显卡设备描述中常见的关键词。
输出示例:
01:00.0 VGA compatible controller: NVIDIA Corporation GP104 [GeForce GTX 1080] (rev a1)
这行输出清晰地告诉我们:
- 01:00.0:设备的PCI地址。
- VGA compatible controller:设备类别。
- NVIDIA Corporation GP104 [GeForce GTX 1080]:制造商和具体的显卡型号。
获取更详细信息:lspci
提供了 -v
(verbose,详细)和 -k
(kernel driver,内核驱动)参数,可以获取更多有用信息。
lspci -v -s 01:00.0
将 01:00.0
替换为你的显卡地址,这个命令会显示该设备的详细属性,包括内存大小、中断等,而 lspci -k | grep -A 2 'VGA|3D|Display'
则能直接显示出当前加载在该设备上的内核驱动模块,这对于判断驱动是否已正确安装至关重要。
lshw
命令
lshw
(Hardware Lister)是一个功能更强大的工具,它可以提供关于硬件配置的更详细、更结构化的报告。
用法:
使用 -c
(class)参数指定设备类别为 display
,可以直接列出所有显示设备。
lshw -c display
输出示例:
*-display
description: VGA compatible controller
product: GP104 [GeForce GTX 1080]
vendor: NVIDIA Corporation
physical id: 0
bus info: pci@0000:01:00.0
version: a1
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress vga_controller bus_master cap_list rom
configuration: driver=nvidia latency=0
resources: irq:95 memory:a3000000-a3ffffff memory:b0000000-bfffffff memory:c0000000-c1ffffff ioport:2000(size=128) memory:c2000000-c207ffff
与 lspci
相比,lshw
的输出更具可读性,并且直接在 configuration
行显示了当前正在使用的驱动程序(driver=nvidia
),非常直观。
NVIDIA 显卡专用工具:nvidia-smi
如果您的系统安装了NVIDIA官方驱动,nvidia-smi
(NVIDIA System Management Interface)是无可替代的终极工具,它不仅能显示显卡信息,还能实时监控显卡状态。
基本用法:
直接在终端输入 nvidia-smi
即可。
输出解析:nvidia-smi
的输出信息量巨大,通常分为几个部分:
+—————————————————————————–+
| NVIDIA-SMI 515.65.01 Driver Version: 515.65.01 CUDA Version: 11.7 |
|——————————-+———————-+———————-+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 NVIDIA GeForce … On | 00000000:01:00.0 Off | N/A |
| 30% 41C P8 25W / 250W | 746MiB / 8192MiB | 2% Default |
| | | N/A |
+——————————-+———————-+———————-+
+—————————————————————————–+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| 0 N/A N/A 1234 G /usr/lib/xorg/Xorg 150MiB |
| 0 N/A N/A 5678 C /usr/bin/python 580MiB |
+—————————————————————————–+
- 栏:显示驱动版本和最高支持的CUDA版本。
- GPU列表:这是核心信息区。
GPU Name
:显卡型号。Fan
:风扇转速百分比。Temp
:当前温度(摄氏度)。Perf
:性能状态(P0-P12,P0最高性能)。Pwr:Usage/Cap
:当前功耗/最大功耗。Memory-Usage
:显存使用量/总显存。GPU-Util
:GPU核心利用率百分比。
- 进程列表:显示当前正在使用GPU的进程及其PID、类型(G为图形,C为计算)和显存占用。
持续监控:
结合 watch
命令,可以实现对显卡状态的动态刷新,非常适合性能监控场景。
watch -n 1 nvidia-smi
这会每秒钟刷新一次 nvidia-smi
的输出。
AMD 显卡与其他通用工具
对于AMD显卡,情况稍显复杂,如果使用开源驱动,lspci
和 lshw
是主要工具,如果安装了AMDGPU-Pro或ROCm(用于计算),则有类似 nvidia-smi
的工具。
- ROCm SMI:对于使用ROCm平台的AMD显卡,
rocm-smi
命令可以提供类似nvidia-smi
的监控功能。 glxinfo
:这个工具是Mesa(OpenGL实现)的一部分,非常适合用来验证驱动程序是否正常工作并负责OpenGL渲染。
# 首先安装 mesa-dri-drivers 和 glx-utils sudo yum install mesa-dri-drivers glx-utils # 然后运行命令查看OpenGL渲染器 glxinfo | grep "OpenGL renderer"
输出结果会明确指出是哪个驱动在负责渲染,例如显示 NVIDIA Corporation
或 AMD
,而不是开源的 llvmpipe
,如果看到 llvmpipe
,说明没有正确加载3D驱动,正在使用CPU进行软件渲染。
inxi
:一个功能强大的系统信息脚本,可以非常美观地汇总硬件信息。
# 安装 inxi sudo yum install inxi # 查看显卡信息 inxi -G
inxi -G
会提供一个非常简洁明了的报告,包括显卡型号、驱动版本、OpenGL版本等,是一个很好的“一站式”查询工具。
综合应用与排查思路
当遇到显卡相关问题时,可以遵循以下排查思路:
- 确认硬件:使用
lspci | grep -i vga
确认系统物理上识别到了显卡。 - 检查驱动:使用
lshw -c display
查看是否加载了正确的驱动(如nvidia
,amdgpu
),还是默认的开源驱动(如nouveau
)。 - 验证功能:使用
glxinfo | grep "OpenGL renderer"
确认3D加速是否由正确的驱动处理。 - 监控状态:对于NVIDIA用户,使用
nvidia-smi
深入了解显卡的实时工作状态。
通过以上命令的组合使用,您可以全面、深入地了解CentOS系统中显卡的硬件信息、驱动状态和性能表现,从而为后续的配置、优化和故障排除提供坚实的数据基础。
相关问答FAQs
解答: 这是一个非常常见的情况。lspci
只是读取PCI总线上的硬件信息,它与驱动程序无关,所以能显示显卡型号,而 nvidia-smi
是NVIDIA官方驱动包附带的工具,出现 “command not found” 错误,几乎可以肯定是因为您没有安装NVIDIA的专有驱动,或者安装不成功,系统此时很可能正在使用开源的 nouveau
驱动,您需要从NVIDIA官网下载适合您显卡型号和系统版本的驱动程序,并按照官方指南进行安装,安装成功后,nvidia-smi
命令就可以正常使用了。
问题2:我如何确认系统当前正在使用的是NVIDIA专有驱动,而不是默认的nouveau开源驱动?
解答: 有多种方法可以验证这一点,最直接的两种方法是:
:执行 lshw -c display
,在输出信息中找到configuration:
行,如果看到driver=nvidia
,说明正在使用NVIDIA专有驱动,如果看到driver=nouveau
,则说明使用的是开源驱动。:执行 glxinfo | grep "OpenGL renderer"
,如果输出中包含 “NVIDIA” 字样以及具体的显卡型号,如OpenGL renderer string: NVIDIA GeForce GTX 1080/PCIe/SSE2
,则证明NVIDIA驱动已生效,如果输出是OpenGL renderer string: llvmpipe (LLVM ...)
,则表示系统正在进行软件渲染,没有正确加载任何3D硬件驱动。
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复