实验室服务器突然崩溃,引入Pytorch时报错:CUDA initialization: Unexpected error from cudaGetDeviceCount(),正在跑的程序也都GG了
这种一般就是显卡驱动出了问题:
定位故障
参考文献
使用nvidia-bug-report.sh输出问题Log
[Jan 11 2025 06:09:21] [ERROR] [tid 578449] fabric manager NVIDIA GPU driver interface version 535.216.03 don’t match with driver version 535.216.01. Please update with matching NVIDIA driver package.
找到报错原因 似乎是 fabric manager 出现了问题
解决故障
fabric manager 这个东西会自动更新 导致你的驱动挂掉
解决方法: 卸载现在的fabric manager :
# 停止现在的服务
systemctl stop nvidia-fabricmanager
systemctl disable nvidia-fabricmanager
#查看安装包名
dpkg --list |grep nvidia-fabricmanager
#执行卸载命令
apt remove nvidia-fabricmanager-470 # 写你的安装包名字
安装正确的软件包
不能使用apt-get -y install
直接安装,会给你安装最新的软件包 ,可以用下面这个脚本指定版本:
version=470.103.01 #需要安装的驱动版本 和你的显卡驱动对应
main_version=$(echo $version | awk -F '.' '{print $1}')
apt-get update
apt-get -y install nvidia-fabricmanager-${main_version}=${version}-*
如果这个东西提示找不到版本 那就要去英伟达网站找了
英伟达网站 这个是ubuntu2204的,如果不一样, 你需要去上一级目录找你的操作系统
然后运行安装程序安装这个软件包就行了
最后启动服务 如果正常启动就是OK的
sudo systemctl start nvidia-fabricmanager
sudo systemctl start nvidia-fabricmanager
关掉烦人的自动更新
最后关掉自动更新
sudo apt-mark hold nvidia-fabricmanager-XXX # 写你自己的软件包名字
sudo apt-mark showhold # 检查一下是不是mark住了