首先使用lspci命令识别显卡型号,再通过lsmod和modinfo检查驱动加载情况;NVIDIA显卡可用nvidia-smi监控性能,AMD显卡可借助radeontop或/sys文件系统获取数据;安装驱动需注意内核兼容性与依赖包,NVIDIA需禁用nouveau并安装官方.run包,AMD可使用开源amdgpu或官方Pro驱动;若安装失败,应检查日志、确保kernel-devel等组件匹配,并可通过rebuild initramfs解决冲突;性能监控推荐nvidia-smi、radeontop及phoronix-test-suite等工具。

在CentOS系统上查看显卡信息,主要是通过命令行工具来识别硬件型号、检查驱动加载情况,并进一步获取性能数据。这需要我们对Linux的硬件检测和模块管理有基本的了解,通常从PCI设备列表入手,然后追踪到具体的驱动模块。
在CentOS上,查看显卡信息并非像在Windows上右键“我的电脑”那么直观,但通过命令行,我们能获取到更底层、更精确的数据。我通常会从硬件识别开始,
lspci是我的首选。这个命令会列出所有PCI设备,显卡当然也在其中。输入
lspci -vnn | grep -i VGA或者
lspci -vnn | grep -i "3D controller",你就能看到显卡的制造商和型号ID。例如,你会看到类似
VGA compatible controller [0300]: NVIDIA Corporation GP104 [GeForce GTX 1070] [10de:1b81] (rev a1)的输出,这包含了制造商(NVIDIA)、具体型号(GTX 1070)以及它们的PCI ID。
识别了硬件,接下来就是驱动。Linux内核通常自带一些开源驱动,比如Nouveau(NVIDIA的开源驱动)或者AMDGPU(AMD的开源驱动)。你可以用
lsmod | grep -i "nvidia\|nouveau\|amdgpu"来看看当前加载了哪些显卡相关的模块。如果看到
nvidia模块,那说明你安装并使用了NVIDIA的闭源驱动。如果没有,或者看到
nouveau,那很可能就是开源驱动在工作。要深入了解某个驱动模块的详细信息,比如它支持的参数、版本等,
modinfo这个命令就很有用了,比如
modinfo nouveau。
但这些只是基础。如果我想知道显卡的实时状态,比如GPU使用率、温度、显存占用,那就要看你用的是什么显卡了。NVIDIA显卡有
nvidia-smi这个神器,安装了NVIDIA驱动后,它会提供一个非常详细的命令行界面,显示GPU的各种运行数据。AMD显卡虽然没有
nvidia-smi那么统一的工具,但可以通过
radeontop或者
amdgpu_top这类第三方工具,或者直接从
/sys/class/drm/card0/device/hwmon/hwmon*/下的文件读取温度等信息。
CentOS上如何安装和更新显卡驱动?
这确实是CentOS用户经常会遇到的一个痛点。安装和更新显卡驱动,尤其是在追求性能或者解决兼容性问题时,往往不是一件轻松的事。我的经验是,首先要明确你的显卡类型,是NVIDIA还是AMD。
对于NVIDIA显卡,我一般会选择从NVIDIA官方网站下载驱动。下载前,务必检查你的CentOS版本和内核版本,确保驱动兼容。安装过程通常涉及禁用开源的Nouveau驱动(这是个关键步骤,否则会冲突),然后以文本模式启动系统,运行NVIDIA提供的
.run安装包。禁用Nouveau通常是在
/etc/modprobe.d/blacklist.conf或类似文件中添加
blacklist nouveau,并重建initramfs。之后,执行
sh NVIDIA-Linux-x86_64-xxx.run。这个过程可能会遇到一些依赖问题,比如缺少内核头文件(
kernel-devel)或编译工具(
gcc),需要提前安装。更新驱动也类似,下载新版本后重复安装过程即可。每次内核更新后,NVIDIA驱动可能需要重新编译或重新安装,这确实有点烦人,但为了性能,也只能接受。
AMD显卡的情况略有不同。CentOS自带的内核通常已经包含了AMDGPU开源驱动,对于大多数日常使用来说,性能已经足够。如果需要更高级的功能或更好的游戏性能,AMD也提供官方的Pro驱动。安装AMD Pro驱动通常需要下载其提供的
.zip或
.tar.gz包,解压后运行安装脚本。它会尝试安装或替换系统中的AMDGPU驱动。和NVIDIA类似,也可能需要解决一些依赖问题。我个人觉得AMD的驱动安装流程比NVIDIA稍显友好,但两者都需要细心操作,尤其是在生产环境中,我都会先在测试机上验证。
无论NVIDIA还是AMD,安装完驱动后,
reboot是必须的。然后你可以用前面提到的
nvidia-smi或
lspci -k来验证驱动是否正确加载。
lspci -k会显示每个设备的内核驱动模块信息,如果你的显卡下面显示
Kernel driver in use: nvidia或
amdgpu,那就说明成功了。
显卡驱动安装失败或不兼容怎么办?
显卡驱动安装失败,这简直是家常便饭。我遇到过太多次了,通常都是因为依赖缺失、内核版本不匹配、Nouveau驱动没有正确禁用,或者下载了错误的驱动版本。
当驱动安装失败时,首先不要慌。最常见的错误是“
unable to find the kernel source tree”或者“
kernel module compilation failed”。这通常意味着你没有安装与当前运行内核版本完全匹配的
kernel-devel包。你可以用
uname -r查看当前内核版本,然后用
yum install kernel-devel-$(uname -r)来安装对应的开发包。如果还不行,检查
gcc和
make是否安装。
另一个常见问题是Nouveau驱动冲突。如果NVIDIA安装程序提示Nouveau正在运行,你需要确保它被彻底禁用。除了在
blacklist.conf中添加,可能还需要在GRUB启动参数中添加
rd.driver.blacklist=nouveau。并且,执行
dracut -f或
mkinitrd -f -v /boot/initramfs-$(uname -r).img $(uname -r)来重建initramfs,确保更改生效。然后,
reboot进入文本模式(运行级别3),再次尝试安装。
如果安装后系统无法启动或者图形界面崩溃,这通常是驱动与Xorg服务器或内核不兼容的表现。这时候,你需要进入恢复模式或者单用户模式。我的做法是,先尝试卸载新安装的驱动。NVIDIA驱动通常会提供一个
--uninstall选项,或者你可以手动删除相关文件(但手动删除风险较大)。AMD驱动也类似,运行其安装脚本时可能带有卸载选项。如果实在无法恢复,最保险的办法就是回滚到安装驱动前的快照(如果你有的话),或者重新安装系统,然后吸取教训,在安装前做好充分的备份和研究。
我个人有个小习惯,在尝试安装新驱动前,我会用
yum history记录下当前系统状态,或者直接用虚拟机进行测试。这样即便出了问题,也能快速回滚,不至于把生产环境搞崩。记住,遇到问题,日志文件是最好的朋友,
cat /var/log/nvidia-installer.log(NVIDIA) 或者
journalctl -xe都能提供宝贵的线索。
如何在CentOS上查看显卡的性能和使用情况?
查看显卡的性能和使用情况,这不仅仅是为了炫耀跑分,更多的是为了诊断问题、优化工作负载,或者单纯地满足好奇心。
对于NVIDIA显卡,
nvidia-smi是绝对的主力。这个命令行工具简直是NVIDIA用户的福音。输入
nvidia-smi,你会看到一个表格,详细列出了每个GPU的温度、功耗、显存使用率、GPU使用率、风扇转速等等。它还能显示哪些进程正在使用GPU。如果你的CentOS是用于深度学习或者科学计算,
nvidia-smi -l 1可以每秒刷新一次数据,让你实时监控GPU负载。这对于调试CUDA程序或者优化模型训练非常有用。
AMD显卡方面,情况稍微复杂一些。虽然没有像
nvidia-smi那样统一且功能强大的官方工具,但我们依然有办法。前面提到的
radeontop是一个非常棒的开源工具,它能以类似
top命令的方式实时显示AMD GPU的使用率、显存使用、温度等。你需要从GitHub编译安装或者通过RPMFusion等第三方仓库获取。此外,你也可以通过读取
/sys/class/drm/card0/device/hwmon/hwmon*/下的文件来获取一些基本信息,比如
cat /sys/class/drm/card0/device/hwmon/hwmon0/temp1_input可以获取GPU温度(具体路径可能因系统而异)。
对于更通用的性能测试,
glxgears可以用来简单测试OpenGL渲染性能,但它更偏向于测试Xorg和驱动的基本功能,而不是GPU的极限性能。如果你想进行更严谨的基准测试,可以考虑安装
phoronix-test-suite。它提供了一系列专业的基准测试,涵盖了CPU、GPU、存储等多个方面,可以帮你全面评估系统性能。当然,安装和运行
phoronix-test-suite需要一些时间和依赖,但它提供的结果确实很有参考价值。
总的来说,了解显卡的实时状态和性能瓶颈,对于维护一个高效稳定的CentOS工作站至关重要。我通常会结合这些工具,在系统负载高的时候,看看是CPU、内存还是GPU成为了瓶颈,从而进行针对性的优化。











