AWS EC2中nvidia-smi无法连接NVIDIA驱动,detectron2 GPU调用失败求助
解决AWS EC2实例NVIDIA-SMI驱动通信失败问题
排查与修复步骤
1. 检查GPU硬件挂载状态
执行以下命令确认GPU设备是否被系统识别:
lspci | grep -i nvidia
如果无输出,说明GPU未正确挂载,停止并重新启动实例(不是重启操作,需先停止再启动,让AWS重新分配硬件资源),之后再次执行命令验证。
2. 验证NVIDIA驱动模块加载
检查驱动模块是否正常加载:
lsmod | grep nvidia
若没有结果,手动加载驱动:
sudo modprobe nvidia
加载失败的话,查看系统日志定位错误:
dmesg | grep nvidia
大概率是内核版本更新导致驱动不兼容——预装AMI的自动内核更新可能破坏了驱动与内核的匹配关系。
3. 重新安装适配的NVIDIA驱动
- 先卸载现有驱动残留:
sudo apt-get purge nvidia* sudo apt-get autoremove sudo apt-get autoclean - 安装当前内核对应的头文件:
sudo apt-get install linux-headers-$(uname -r) - 安装适配CUDA版本的NVIDIA驱动(以CUDA 11.x常用的525版本为例):
安装完成后重启实例,运行sudo apt-get install nvidia-driver-525nvidia-smi验证驱动状态。
4. 配置CUDA环境变量
确认CUDA路径已加入系统环境变量:
echo $PATH | grep cuda echo $LD_LIBRARY_PATH | grep cuda
如果无输出,将路径添加到用户配置文件:
echo 'export PATH=/usr/local/cuda/bin:$PATH' >> ~/.bashrc echo 'export LD_LIBRARY_PATH=/usr/local/cuda/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc source ~/.bashrc
5. 验证PyTorch与GPU的兼容性
修复完成后,在Python环境中测试GPU可用性:
import torch print(torch.cuda.is_available()) print(torch.cuda.device_count())
返回True后,重新运行detectron2模型即可。
内容的提问来源于stack exchange,提问作者Chirag Chauhan
相关产品推荐
相关产品推荐

