普通网友 2025-12-15 06:25 采纳率: 99.1%
浏览 0
已采纳

如何查看当前安装的NVIDIA驱动版本?

如何在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/Debiandpkg -l | grep nvidia-driver列出所有与nvidia-driver相关的已安装包
    CentOS/RHELrpm -qa | grep nvidia查询包含nvidia关键字的所有RPM包
    Fedoradnf list installed | grep nvidia使用DNF列出已安装的NVIDIA相关组件
    SUSEzypper 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)至关重要。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已采纳回答 12月16日
  • 创建了问题 12月15日