bobac3@reinovo:~$ nvidia-smi 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-06-14 17:48:09 浏览: 11
### NVIDIA-SMI 无法与 NVIDIA 驱动程序通信的解决方案
NVIDIA-SMI 无法与 NVIDIA 驱动程序通信的问题通常是由于驱动程序未正确安装、版本不兼容或系统服务未启动引起的。以下是可能的解决方法:
#### 1. 检查 NVIDIA 驱动是否正确安装
确保系统中已正确安装 NVIDIA 驱动程序。可以通过以下命令检查:
```bash
lsmod | grep nvidia
```
如果输出为空,则说明 NVIDIA 驱动未加载。尝试重新安装驱动程序,例如通过以下命令(以 Ubuntu 系统为例):
```bash
sudo apt-get update
sudo apt-get install nvidia-driver-470
```
安装完成后重启系统[^5]。
#### 2. 使用 Additional Drivers 工具选择合适的驱动版本
在某些情况下,系统可能存在多个驱动版本。可以使用图形界面工具 `Additional Drivers` 来选择适合的驱动版本。打开终端并运行以下命令:
```bash
software-properties-gtk
```
切换到 `Additional Drivers` 标签页,选择推荐的 NVIDIA 驱动版本并应用更改[^5]。
#### 3. 检查内核模块是否加载
如果驱动已安装但仍未加载,可以手动加载 NVIDIA 内核模块:
```bash
sudo modprobe nvidia
```
若加载失败,可能是由于内核版本不匹配或存在冲突的开源驱动(如 Nouveau)。禁用 Nouveau 驱动可以通过编辑 `/etc/modprobe.d/blacklist.conf` 文件实现:
```bash
echo "blacklist nouveau" | sudo tee -a /etc/modprobe.d/blacklist.conf
sudo update-initramfs -u
```
然后重启系统[^1]。
#### 4. 验证 NVIDIA 驱动状态
在完成上述步骤后,验证 NVIDIA 驱动是否正常工作:
```bash
nvidia-smi
```
如果仍显示错误信息,可以检查系统日志以获取更多信息:
```bash
dmesg | grep -i nvidia
```
#### 5. 检查 GPU 是否被其他进程占用
有时,GPU 可能被其他进程占用,导致 NVIDIA-SMI 无法通信。可以使用以下命令查看是否有相关进程:
```bash
fuser -v /dev/nvidia*
```
如果有占用进程,可以尝试终止这些进程后再运行 `nvidia-smi`。
#### 6. 升级或降级 NVIDIA 驱动
如果问题仍然存在,可能是驱动版本与硬件或软件环境不兼容。可以根据实际需求升级或降级驱动版本。例如,安装较低版本的驱动:
```bash
sudo apt-get install nvidia-driver-460
```
---
### 示例代码:禁用 Nouveau 驱动
以下为禁用 Nouveau 驱动的完整脚本:
```bash
# 编辑 blacklist 文件
echo "blacklist nouveau" | sudo tee -a /etc/modprobe.d/blacklist.conf
echo "options nouveau modeset=0" | sudo tee -a /etc/modprobe.d/blacklist.conf
# 更新 initramfs
sudo update-initramfs -u
# 重启系统
sudo reboot
```
---
阅读全文
相关推荐









