AWS G4DN实例中NVIDIA-SMI任务中途失效原因排查
报错信息
NVIDIA-SMI couldn't find libnvidia-ml.so library in your system. Please make sure that the NVIDIA Display Driver is properly installed and present in your system.
Please also try adding directory that contains libnvidia-ml.so to your system PATH.
原因分析
1. 系统自动更新触发驱动失效
这是最可能的原因。Ubuntu 20.04默认启用unattended-upgrades自动更新服务,会在后台自动安装内核(linux-image)更新。NVIDIA驱动多依赖DKMS编译适配当前内核版本,内核更新后,原有驱动的编译版本无法适配新内核,导致libnvidia-ml.so等库文件无法被系统正确加载,进而触发报错。
2. 计算任务导致驱动资源异常
长时间运行4块GPU的计算密集型任务,可能引发NVIDIA驱动进程崩溃、资源泄漏,破坏了动态链接库的关联关系,使得系统无法定位到libnvidia-ml.so。
3. 路径或权限变更
部分任务脚本、第三方工具可能意外修改了/usr/lib/nvidia-*等驱动库目录的权限,或者覆盖了PATH/LD_LIBRARY_PATH环境变量,导致系统无法找到目标库文件。
针对你的疑问:确实有可能是操作系统的自动更新操作引发的问题,内核自动更新是这类场景下驱动失效的常见诱因。
快速排查与修复
检查内核与驱动版本匹配性:
uname -r dpkg -l | grep nvidia-driver若内核版本与驱动编译的内核版本不一致,需重新安装驱动。
重新加载驱动模块(需先终止所有GPU进程):
sudo rmmod nvidia && sudo modprobe nvidia重新安装适配当前内核的驱动:
sudo apt install --reinstall nvidia-driver-<你的驱动版本> linux-headers-$(uname -r)替换
<你的驱动版本>为实际版本号,例如470。禁用自动内核更新(避免后续复发):
sudo apt-mark hold linux-image-generic linux-headers-generic
内容的提问来源于stack exchange,提问作者Anand Mahesh

