报错是这么冒出来的。SSH 登录服务器执行 nvidia-smi,返回 NVIDIA-SMI has failed because it couldn’t communicate with the NVIDIA driver,之前一直正常。

中间走过弯路,把「显卡被虚拟机透传后宿主层看不到」当成主因,改完现象没变。

排查方向其实有限,先把可能性排一排。内核升级后驱动模块没有重新编译。也可能是驱动进程崩溃或被卸载。

不容易想到的是,系统刚做过内核热更新,模块版本不匹配。

第一件事是确认内核模块是否加载

lsmod | grep nvidia

尝试重新加载驱动模块

modprobe nvidia

随后查看驱动与内核版本是否匹配

uname -r; cat /proc/driver/nvidia/version

剩下的就是重装对应内核版本的驱动后重启

apt install --reinstall nvidia-driver-535

怎么算真的好了,看的是同一批现象。nvidia-smi 能正常输出显卡表格,驱动版本与内核匹配,CUDA 程序可以正常申请显存。

这里还有个坑。云主机上出现这个报错也可能是宿主机侧的问题,重启实例无效就要提工单,别在系统里反复重装驱动。同一份配置在测试环境跑通,不代表线上没事,两边的默认值经常不一样。

作者 9823189