如何在Linux系统中查看当前安装的NVIDIA驱动版本?常见方法包括使用`nvidia-smi`命令,该命令可显示驱动版本、GPU使用情况等信息。若该命令无效,可能是驱动未正确安装或未加入环境变量。此外,也可通过`dpkg -l | grep nvidia-driver`(Ubuntu/Debian)或`rpm -qa | grep nvidia`(RHEL/CentOS)查询已安装的驱动包版本。部分用户还会使用`cat /proc/driver/nvidia/version`获取内核驱动版本。需注意区分驱动版本与CUDA工具包版本,避免混淆。
1条回答 默认 最新
张牛顿 2025-12-15 08:52关注一、基础查看方法:使用
nvidia-smi命令在Linux系统中,最直观且广泛使用的查看NVIDIA驱动版本的方法是执行
nvidia-smi命令。该命令由NVIDIA驱动自带,运行后将输出GPU的实时状态信息,包括驱动版本、CUDA版本、显存使用率、温度等。nvidia-smi输出示例:
+-----------------------------------------------------------------------------+ | NVIDIA-SMI 535.129.03 Driver Version: 535.129.03 CUDA Version: 12.2 | |-------------------------------+----------------------+----------------------+ | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | |===============================+======================+======================| | 0 Tesla V100-SXM2... On | 00000000:00:1B.0 Off | 0 | | N/A 38C P0 35W / 300W | 0MiB / 16160MiB | 0% Default | +-------------------------------+----------------------+----------------------+
其中,“Driver Version”字段即为当前加载的NVIDIA驱动版本。若此命令报错或提示“command not found”,则需排查环境变量路径或驱动安装状态。
二、包管理器查询法:基于发行版的软件包检查
当
nvidia-smi不可用时,可通过系统的包管理工具查询已安装的NVIDIA驱动包版本。不同Linux发行版使用不同的包管理系统。- Ubuntu/Debian 系列:使用
dpkg查询安装的驱动包 - RHEL/CentOS/Fedora 系列:使用
rpm工具进行检索
具体命令如下:
发行版 命令 说明 Ubuntu/Debian dpkg -l | grep nvidia-driver列出所有与nvidia-driver相关的已安装包 CentOS/RHEL rpm -qa | grep nvidia查询包含nvidia关键字的所有RPM包 Fedora dnf list installed | grep nvidia使用DNF列出已安装的NVIDIA相关组件 SUSE zypper se --installed-only nvidia通过Zypper搜索已安装的NVIDIA包 该方法适用于确认驱动是否通过官方仓库或第三方源(如ELRepo)正确安装。
三、内核驱动层面验证:读取
/proc文件系统信息即使用户空间工具缺失,只要NVIDIA内核模块已加载,仍可通过访问虚拟文件系统获取底层驱动版本。
cat /proc/driver/nvidia/version输出示例:
NVRM version: NVIDIA UNIX x86_64 Kernel Module 535.129.03 Tue Jun 27 18:26:27 UTC 2023
该方式直接读取内核模块版本,具有较高的可靠性,常用于调试场景或容器环境中无法调用完整工具链的情况。
四、进阶诊断流程图:多层级排查逻辑
以下流程图展示了一个完整的NVIDIA驱动版本检测与故障排查路径:
graph TD A[开始] --> B{nvidia-smi 是否可用?} B -- 是 --> C[解析输出中的 Driver Version] B -- 否 --> D{nvidia kernel module 是否加载?} D -- 是 --> E[cat /proc/driver/nvidia/version] D -- 否 --> F[modprobe nvidia 或检查 Secure Boot] F --> G[重新安装驱动或签名模块] E --> H[获取内核驱动版本] C --> I[完成: 得到驱动版本] H --> I此流程体现了从用户态到内核态的逐层深入分析思路,适合系统管理员和DevOps工程师构建自动化检测脚本。
五、区分驱动版本与CUDA工具包版本
一个常见误区是混淆NVIDIA驱动版本与CUDA Toolkit版本。两者关系如下:
- NVIDIA驱动是操作系统与GPU硬件之间的桥梁,必须先于CUDA运行时存在
- CUDA Toolkit 是开发工具集(编译器nvcc、库、头文件),其版本受驱动支持上限限制
- 高版本CUDA程序需要足够新的驱动版本才能运行
例如:
nvidia-smi显示支持最高CUDA 12.2,并不意味着系统已安装该版本的CUDA Toolkit;反之亦然。可通过以下命令分别查看:
# 查看驱动支持的CUDA运行时版本 nvidia-smi # 查看实际安装的CUDA编译工具版本 nvcc --version理解这种分层架构对于AI平台部署、容器镜像构建(如NVIDIA Docker)至关重要。
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报- Ubuntu/Debian 系列:使用