GPU驱动不可用
问题描述
执行nvidia-smi查看GPU使用情况,显示如下:
NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.
可能原因
系统内核进行了升级,导致在新内核上,GPU驱动不可用。
问题排查
根据不同的系统在服务器中执行如下命令,查看安装驱动时的内核版本:
- CentOS:find /usr/lib/modules -name nvidia.ko
- Ubuntu:find /lib/modules -name nvidia.ko
示例:以CentOS为例,执行上述命令,回显信息如图2所示可以看出GPU驱动是基于3.10.0-957.5.1.el7.x86_64版本的内核安装的。
执行uname –r,如图3所示,查看当前内核版本是3.10.0-1160.24.1.el7.x86_64。
说明安装驱动的内核版本跟当前内核版本不一致。
处理方法
- 方法一:重新启动,选择安装GPU驱动时的内核版本,即可使用GPU驱动。
- 在云服务器操作列下单击“远程登录 > 立即登录”。
- 单击远程登录操作面板上方的“发送CtrlAltDel”按钮,重启虚拟机。
- 然后快速刷新页面,按上下键,阻止系统继续启动,选择安装GPU驱动时的内核版本进入系统。在当前内核版本下GPU驱动即可正常使用。
- 方法二:基于新的内核版本,重新安装驱动。
- 卸载驱动。
- 方法1:执行nvidia-uninstall命令,卸载驱动。
如果提示命令不存在可以执行•查询云服务器安装的驱动版本:whereis n...卸载驱动。
- 方法2:查询云服务器安装的驱动版本:whereis nvidia
图4 查询安装的驱动版本
根据查询的驱动版本从NVIDIA官网下载驱动包(此处重新下载驱动包是为了执行卸载动作,且后续重新安装驱动时需要此安装包)。
以驱动版本nvidia-396.44为例,执行sh NVIDIA-Linux-x86_64-396.44.run --uninstall,卸载驱动
- 方法1:执行nvidia-uninstall命令,卸载驱动。
- 重装驱动。
操作指导请参考:安装GPU驱动
- 卸载驱动。