NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running.
时间: 2025-07-09 17:12:04 浏览: 12
### 检查并安装NVIDIA驱动
当执行 `nvidia-smi` 命令时出现 **"NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver"** 错误,通常表明系统中未正确安装或加载NVIDIA GPU驱动程序。可以先通过以下命令检查当前是否安装了NVIDIA驱动:
```bash
dpkg --get-selections | grep nvidia
```
如果未显示任何与 `nvidia` 相关的包,则说明尚未安装驱动程序。可以通过Ubuntu官方仓库安装适用于当前系统的NVIDIA驱动,例如:
```bash
sudo apt update
sudo apt install nvidia-driver-535
```
安装完成后重启系统以确保驱动正常加载[^1]。
---
### 验证内核版本匹配
如果已安装NVIDIA驱动但仍然无法使用 `nvidia-smi`,可能是由于当前运行的Linux内核与驱动不兼容。查看当前使用的内核版本:
```bash
uname -a
```
再检查系统中已安装的内核版本:
```bash
dpkg --get-selections | grep linux-image
```
若发现当前使用的内核版本高于已安装的版本,则可能是因为系统更新后导致驱动失效。此时需要重新安装与当前内核版本匹配的NVIDIA驱动,或者回退到旧内核版本。
在重新安装驱动前,建议安装 `dkms` 工具以支持动态编译和加载模块:
```bash
sudo apt install dkms
```
然后重新安装NVIDIA驱动,并确保其与当前内核兼容[^4]。
---
### 确保nvidia-smi工具存在
在大多数情况下,`nvidia-smi` 是与 NVIDIA GPU 驱动程序一起安装的,当安装 NVIDIA GPU 驱动程序时,`nvidia-smi` 工具通常会自动包含在驱动程序软件包中,并在安装过程中将其放置在适当的位置。如果安装完驱动后仍无法找到 `nvidia-smi`,可尝试手动查找该命令是否存在:
```bash
which nvidia-smi
```
如果没有输出,说明 `nvidia-smi` 可能未正确安装。可以尝试重新安装完整的NVIDIA驱动包:
```bash
sudo apt install --reinstall nvidia-driver-535
```
安装完成后再次检查 `nvidia-smi` 是否可用[^3]。
---
### 修复网络配置问题
在某些情况下,系统无法访问外部网络可能导致驱动安装失败。此时可以检查 `/etc/resolv.conf` 文件中的DNS设置:
```bash
cat /etc/resolv.conf
```
如果文件中没有有效的DNS服务器,可以在文件末尾添加以下内容以使用Google公共DNS:
```bash
nameserver 8.8.8.8
nameserver 8.8.4.4
```
保存修改后测试网络连接:
```bash
ping www.baidu.com
```
确认网络恢复后重新更新软件源并安装缺失的组件:
```bash
sudo apt update
sudo apt install --reinstall nvidia-driver-535
```
这将有助于解决因网络问题导致的驱动安装失败情况[^4]。
---
### 禁止内核自动更新
为了避免未来因内核更新而导致驱动失效,可以禁用Ubuntu的自动内核更新功能。编辑 `/etc/apt/apt.conf.d/10periodic` 文件:
```bash
sudo nano /etc/apt/apt.conf.d/10periodic
```
将其中的 `1` 修改为 `0`:
```conf
APT::Periodic::Update-Package-Lists "0";
APT::Periodic::Download-Upgradeable-Packages "0";
APT::Periodic::AutocleanInterval "0";
APT::Periodic::Unattended-Upgrade "0";
```
此外,防止系统升级过程中意外更新内核版本:
```bash
sudo apt-mark hold linux-image-generic linux-headers-generic
```
这样可以保持当前内核不变,避免因内核版本不一致导致驱动无法加载的问题[^4]。
---
### 重启并验证GPU状态
完成上述操作后,重启系统以确保所有更改生效:
```bash
sudo reboot
```
重启后再次运行 `nvidia-smi` 查看GPU状态:
```bash
nvidia-smi
```
如果一切正常,将显示GPU型号、驱动版本及当前使用情况等信息。若仍然存在问题,建议检查硬件连接或尝试从[NVIDIA官网](https://www.nvidia.com/Download/index.aspx)下载并手动安装最新的驱动程序[^2]。
---
阅读全文
相关推荐









