V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
faoisdjioga
V2EX  ›  Linux

Linux 如何保持 Nvidia 驱动稳定

  •  
  •   faoisdjioga · 45 天前 · 3226 次点击
    这是一个创建于 45 天前的主题,其中的信息可能已经有所发展或是发生改变。

    在 Linux 上装了驱动,一开始能用,后来过一段时间可,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.

    我印象中没有主动更新 NVIDIA 驱动,但是我在使用中确实装过其他软件。可能是这个原因更新了 NVIDIA 驱动。

    之前遇到过几次这个问题,每次都是重装驱动。

    求一个稳定的解决方法。

    31 条回复    2024-12-03 08:44:05 +08:00
    devliu1
        1
    devliu1  
       45 天前
    nvidia-docker
    nolan1864
        2
    nolan1864  
       45 天前   ❤️ 1
    把系统内核版本固定住就行了
    skyrim61
        3
    skyrim61  
       45 天前
    同问, 老是掉驱动, 如何保证驱动的稳定呢
    nuII
        4
    nuII  
       45 天前   ❤️ 1
    安装驱动的时候带上--dkms ,这样就算内核更新了,驱动也不会掉
    shika
        5
    shika  
       45 天前 via Android
    是内核更新了,而不是驱动更新了
    Cineray
        6
    Cineray  
       45 天前
    内核更新了,重启就好了
    yaott2020
        7
    yaott2020  
       45 天前 via Android
    用 dkms
    Tink
        8
    Tink  
       45 天前
    dkms +1
    tsanie
        9
    tsanie  
       44 天前
    用 dkms+2
    jaswer
        10
    jaswer  
       44 天前
    内核更新了吧
    vcn8yjOogEL
        11
    vcn8yjOogEL  
       44 天前
    用系统包管理器安装, 闭源驱动每次更新都需要重新编译内核模块
    guo4224
        12
    guo4224  
       44 天前
    使用 apt 更新完事,别没事自己瞎折腾
    z131
        13
    z131  
       44 天前
    apt-mark hold linux-image-generic linux-headers-generic linux-image-extra 关闭内核更新
    misaki321
        14
    misaki321  
       44 天前
    把内核更新关了
    nutting
        15
    nutting  
       44 天前
    内核更新了,前几天刚解决,回退了。然后锁定
    liyafe1997
        16
    liyafe1997  
       44 天前
    @devliu1 这玩意也是依赖内核驱动的,只是打包成 docker 方便你用用户空间的东西,并不是驱动本身。
    ayasakinagi
        17
    ayasakinagi  
       44 天前
    更新内核前备份一下 /usr/lib/modules 目录下的内容, 更新完内核再复制回去就行了.
    懒得弄的话可以搞个自动的 hook 脚本, 比如 archlinux 下的 linux-keep-modules
    TsukiMori
        18
    TsukiMori  
       44 天前 via Android
    gentoo+NVIDIA 实在酸爽
    已经复读了好几次 linus 的传世名言了
    Carson089
        19
    Carson089  
       44 天前
    1. 宿主机的 nvidia 驱动支持最新的 cuda 版本就好,不要随意更新 nvidia 驱动
    2. 不同的项目可能需要不同的 cuda 版本,在 docker 中安装 cuda 与 cudnn
    3. 还有个选择是,anaconda/conda 等使用虚拟环境。安装需要的 gpu 的项目时候会自动下载 cuda/cudnn 相关到环境中
    cyningxu
        20
    cyningxu  
       44 天前 via Android
    so Nvidia ,fxxk u
    Jirajine
        21
    Jirajine  
       44 天前
    换一个官方支持 nvidia 驱动的发行版,任何时候安装的内核和 nvidia 驱动都是兼容的版本。不要手动用 nvidia 官方的脚本安装。
    wuruxu
        22
    wuruxu  
       44 天前
    装 Linux 推荐 APU 的笔记本
    llsquaer
        23
    llsquaer  
       44 天前
    我是 windows 老是掉驱动。每次都要重新装一次。不知道咋个解决。时间不固定,中途也没安装其他软件。差不过一个月 二个月 掉一次。前几天又掉驱动 cuda 就没法用。哎
    Quetalocatl
        24
    Quetalocatl  
       44 天前
    Ubuntu 用 N 卡還是很穩定的,用自帶的驅動就好,LTS 版本用了好多年,顯都換了仍然很穩定
    chopin1998519
        25
    chopin1998519  
       44 天前
    自己编译的内核就用 dkms ,

    但是有一定机会新内核或者新驱动 互相不对付。


    求稳就用 nv cuda 的源, 然后控制好内核就行了。 多台机器都没事儿
    GoRoad
        26
    GoRoad  
       44 天前
    更新内核了吧,驱动跟内核属于强绑定关系的,遇到过内核版本高了一个小版本,整个驱动都挂了,卸载驱动都会 hangs ,系统直接重启并且自行回滚到之前的情况
    dmanbu
        27
    dmanbu  
       44 天前
    显卡休眠了,要开启 GPU 的 Persistence Mode
    比如这样:
    systemctl start nvidia-persistenced
    systemctl enable nvidia-persistenced
    qbqbqbqb
        28
    qbqbqbqb  
       21 天前
    不要用官网的.run 安装,始终使用发行版的软件源来安装 NVIDIA 驱动,这样驱动可以随系统内核一起更新,避免掉驱动。

    绝大多数 Linux 安装 NVIDIA 驱动翻车,都是使用官网.run 安装包的锅。
    使用这个所谓的官方安装包是需要你有非常熟练的运维经验的。而且这个看上去像是通用安装包的东西,实际上并不是能够完美适配所有发行版。如果恰好遇到一个不适配的,可能装完重启就黑屏,或者下一次更新就掉驱动。

    永远记住,发行版软件源里的软件总是适配最好的,也是 Linux 中安装任何软件优先考虑的安装方式。
    比如 ubuntu 系统首先考虑使用 GUI 的“硬件驱动”或者命令行 apt 安装 nvidia 驱动,如果官方源里版本不合适的话可以使用 ppa 。没有运维经验不要用官网.run

    如果要使用来自官网.run 版本的 CUDA 的话,一定要关闭 CUDA 安装包中的安装驱动的选项,然后另行通过发行版软件源安装驱动。
    qbqbqbqb
        29
    qbqbqbqb  
       21 天前
    @qbqbqbqb 总结一下安装方式(以 ubuntu 为例)

    推荐使用:
    1. 发行版官方源 apt 直接安装
    2. NVIDIA 官网 CUDA 的 deb 源(注意发行版版本一致)
    3. 第三方软件源比如 ppa (个人电脑尝鲜使用,注意发行版版本一致)

    谨慎使用(需要运维经验):
    NVIDIA 官网 .run 安装包(驱动安装包尽量不使用,CUDA 安装包去掉安装驱动选项)

    严禁使用:
    不适配当前发行版版本的 deb 或者软件源
    qbqbqbqb
        30
    qbqbqbqb  
       21 天前
    @qbqbqbqb 总结一下安装方式(以 ubuntu 为例)

    推荐使用:
    1. 发行版官方源 apt 直接安装
    2. NVIDIA 官网 CUDA 的 deb 源(注意发行版版本一致)
    3. 第三方软件源比如 ubuntu ppa (个人电脑尝鲜使用,注意发行版版本一致)

    谨慎使用(需要运维经验):
    NVIDIA 官网 .run 格式的安装包(驱动安装包尽量不使用,CUDA 安装包去掉安装驱动选项)

    严禁使用:
    不适配当前发行版版本的 deb 或者软件源
    faoisdjioga
        31
    faoisdjioga  
    OP
       19 天前 via Android
    @qbqbqbqb 感谢总结。我的 Ubuntu 是在 esxi 里面的。然后显卡直通后首先出现的问题是显卡无法识别,lspci 无法正确识别 rtx4070 。后来尝试过多种方式识别之后。通过 Ubuntu 自带驱动还是识别不了显卡。又尝试了多种方式之后,只有通过 run 文件安装的方式可以识别显卡
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2478 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 05:08 · PVG 13:08 · LAX 21:08 · JFK 00:08
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.