Loading... 在 Ubuntu 22.04 上,如果 `nvidia-smi` 在某次重启后失效,通常是由于 NVIDIA 驱动问题或系统配置出现冲突。这类问题可能源自内核更新、驱动加载失败或 NVIDIA 内核模块未正确安装等原因。以下是解决这个问题的步骤: ### 1. 检查 NVIDIA 驱动是否加载 首先检查 NVIDIA 驱动是否正确加载: ```bash lsmod | grep nvidia ``` 如果没有输出,说明 NVIDIA 驱动未正确加载。 ### 2. 检查驱动状态 使用 `ubuntu-drivers` 工具查看当前系统中安装的 NVIDIA 驱动信息: ```bash ubuntu-drivers devices ``` 这将列出当前安装的驱动版本,并推荐适合的驱动版本。 ### 3. 重新安装 NVIDIA 驱动 重新安装 NVIDIA 驱动可以解决大多数问题。在安装前建议禁用 Nouveau 驱动(这是默认的开源 NVIDIA 驱动),以避免冲突。 1. **禁用 Nouveau 驱动**: 编辑 `/etc/modprobe.d/blacklist-nouveau.conf` 文件,添加以下内容: ```bash blacklist nouveau options nouveau modeset=0 ``` 然后更新 initramfs: ```bash sudo update-initramfs -u ``` 2. **重新安装驱动**: 安装合适的 NVIDIA 驱动(确保系统使用的是合适的版本): ```bash sudo apt update sudo apt install nvidia-driver-<version> ``` 请将 `<version>` 替换为适合你显卡的驱动版本,例如 `nvidia-driver-525`。 3. **重启系统**: 重新启动系统,并再次检查 `nvidia-smi` 是否能正常运行。 ### 4. 检查 CUDA 兼容性 如果你的系统安装了 CUDA 工具包,确保 CUDA 版本与当前的 NVIDIA 驱动兼容。可以通过以下命令检查 CUDA 的安装路径和驱动版本: ```bash nvcc --version ``` 如果 CUDA 和驱动不兼容,可能需要重新安装 CUDA 工具包或调整驱动版本。 ### 5. 检查内核模块 如果 NVIDIA 内核模块未正确加载,可以手动加载或重新构建模块: ```bash sudo modprobe nvidia ``` 如果模块加载失败,可能需要重新构建 NVIDIA 内核模块,使用以下命令: ```bash sudo dkms install -m nvidia -v <driver-version> ``` 确保使用正确的驱动版本号。 ### 6. 日志检查 如果问题仍未解决,可以通过检查系统日志查找详细错误信息: ```bash dmesg | grep nvidia journalctl -xe | grep nvidia ``` 这些日志会提供有关驱动加载失败的详细信息,帮助进一步排查问题。 ### 总结 当 `nvidia-smi` 在 Ubuntu 22.04 上失效时,通常是由于驱动未正确加载或系统配置冲突。通过检查驱动加载状态、重新安装驱动、调整 CUDA 兼容性以及检查系统日志,可以有效解决此类问题。 最后修改:2024 年 08 月 28 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏