目录
[1. 问题](#1. 问题)
[2. 解决方法](#2. 解决方法)
1. 问题
在 docker 中执行 nvidia-smi 后报错:
Failed to initialize NVML: Unknown Error
这个错误表示不能成功初始化NVML(Nvidia Management Library)库来管理和监测Nvidia GPU。可能的原因和解决方法如下:
-
检查是否正确安装并加载了Nvidia的驱动。需要安装对应GPU型号的驱动包。
-
检查docker容器是否正确映射了Nvidia设备。需要使用"--runtime=nvidia"和"-gpus all"参数启动容器。
-
检查容器内是否安装了Nvidia的容器运行时(nvidia-container-runtime)包。
-
检查主机与容器内部Linux内核版本是否兼容。需要主机和容器使用相同版本的内核。
-
清除docker所有图像并重新构建容器。可能遗留的旧配置导致问题。
-
重建docker服务,或重新启动Nvidia驱动。
-
检查NVML本身是否损坏。可以尝试重新安装或者卸载后重新安装NVML相关依赖包。
-
升级Nvidia驱动和硬件到最新版本,排除不兼容问题。
2. 解决方法
修改 docker 所在服务器的
/etc/nvidia-container-runtime/config.toml
中的参数为
no-cgroups = false