当前位置: 首页 > article >正文

ubuntu装P104

根据你提供的信息,modprobe: FATAL: Module nvidia not found in directory /lib/modules/6.8.0-51-generic 表明内核模块 nvidia 未找到。这通常意味着 NVIDIA 驱动程序没有正确安装或与当前内核版本不匹配。

1. 确认内核版本

首先确认当前使用的内核版本:

uname -r

确保输出的内核版本与 /lib/modules/6.8.0-51-generic 匹配。如果不匹配,可能是由于系统更新了内核但未重新编译驱动。

2. 检查 DKMS 状态

DKMS(Dynamic Kernel Module Support)用于自动编译和安装内核模块。检查 DKMS 是否已正确配置:

dkms status

如果输出为空或未列出 NVIDIA 相关条目,说明 DKMS 可能未正确配置或驱动未注册到 DKMS。

3. 重新安装 NVIDIA 驱动并启用 DKMS

卸载现有驱动:
sudo apt-get purge nvidia*
清理残留配置:
sudo rm /etc/modprobe.d/blacklist-nouveau.conf
sudo update-initramfs -u
安装 DKMS 和必要的工具:
sudo apt-get install dkms build-essential linux-headers-$(uname -r)
安装最新驱动:
sudo apt update
sudo apt install nvidia-driver-550
确保 DKMS 已注册 NVIDIA 驱动:
sudo dkms add nvidia/550.120.01
sudo dkms build nvidia/550.120.01
sudo dkms install nvidia/550.120.01

4. 禁用 Nouveau 驱动

Nouveau 是 Linux 的开源 NVIDIA 显卡驱动,默认情况下可能会与专有的 NVIDIA 驱动冲突。禁用 Nouveau 可能有助于解决问题:

创建或编辑 /etc/modprobe.d/blacklist-nouveau.conf 文件:
echo "blacklist nouveau" | sudo tee /etc/modprobe.d/blacklist-nouveau.conf
echo "options nouveau modeset=0" | sudo tee -a /etc/modprobe.d/blacklist-nouveau.conf
更新 initramfs:
sudo update-initramfs -u

5. 重启系统

重启计算机以确保所有更改生效:

sudo reboot

6. 检查内核模块加载情况

重启后,再次检查内核模块是否已加载:

lsmod | grep nvidia

你应该会看到类似以下的输出,表明 NVIDIA 内核模块已成功加载:

nvidia_uvm            942080  0
nvidia_drm             61440  4
nvidia_modeset        761856  1 nvidia_drm
nvidia               4628480  2 nvidia_uvm,nvidia_modeset
drm_kms_helper        245760  1 nvidia_drm
drm                   655360  6 drm_kms_helper,nvidia_drm

7. 验证驱动安装

验证 NVIDIA 驱动是否正确安装并加载:

nvidia-smi

你应该会看到类似以下的输出,表明驱动已成功安装:

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 550.120.01   Driver Version: 550.120.01   CUDA Version: 12.4     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  NVIDIA GeForce ...  Off  | 00000000:01:00.0 Off |                  N/A |
| N/A   37C    P8     9W /  N/A |      0MiB /  8192MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

8. 检查 PyTorch 和 CUDA 版本匹配

确保 PyTorch 和 CUDA 版本匹配。你可以通过以下命令检查 PyTorch 是否能检测到 GPU:

import torch
print(f"PyTorch version: {torch.__version__}")
print(f"CUDA available: {torch.cuda.is_available()}")
print(f"CUDA version: {torch.version.cuda}")

如果 CUDA available 返回 True,则说明问题已经解决。

总结

通过以上步骤,你应该能够解决 modprobe: FATAL: Module nvidia not found 的问题,并确保 NVIDIA 驱动和 CUDA 正常工作。如果问题仍然存在,请查阅 NVIDIA 和 PyTorch 的官方文档或社区论坛获取更多帮助。


http://www.kler.cn/a/449257.html

相关文章:

  • RabbitMQ 的7种工作模式
  • 第146场双周赛:统计符合条件长度为3的子数组数目、统计异或值为给定值的路径数目、判断网格图能否被切割成块、唯一中间众数子序列 Ⅰ
  • layui动态拼接生成下拉框验证必填项失效问题
  • 0.96寸OLED显示屏详解
  • 增量训练(持续学习)
  • 维克日记:私密写作新选择,轻松记录生活点滴
  • 操作系统(22)外存的组织方式
  • 初识Go语言
  • docker部署微信小程序自动构建发布和更新
  • “电找车“ | 助力移动充电机器人快速落地
  • Could not resolve host: github.com
  • Vue零基础教程|从前端框架到GIS开发系列课程(七)响应式系统介绍
  • 【氮化镓】p沟道GaN-on-Si晶体管的衬底偏置效应
  • 【习题答案】构建灵活高效的消息推送能力
  • c++---------流类
  • R机器学习:决策树算法的理解与实操
  • 【java设计模式】1 - 软件设计原则
  • springboot471基于协同过滤算法商品推荐系统(论文+源码)_kaic
  • Java的基础概念(一)
  • 微信 SDK 更新 Sample,NCF 文档和模板更新,更多更新日志,欢迎解锁
  • 【笔记】Ubuntu连finalshell超时 解决:下载openssh
  • 网络附属存储(NAS)的学习
  • 【JUC编程】JUC 多线程基础全面解析(待更新版)
  • 面试经典题目:LeetCode134_加油站
  • 对安全的认知
  • Java 8使用Stream流去除一个list中包含另一个list已存在的某个字段的对象