ubuntu docker 里nvidia-smi 重启后可以,但过一阵(few days)报错(Failed to initialize NVML: Unknown Error)

  • 问题
  • 遇到问题的服务器环境
  • 尝试可以的方案
  • 思考

相关github讨论

问题

ubuntu docker 里nvidia-smi 但过一阵(few days )报错

Failed to initialize NVML: Unknown Error

但重启后又可以检测到GPU

遇到问题的服务器环境

docker: 20.10.16
GPU: 3090
ubuntu版本:22.04

尝试可以的方案

在容器创建的时候,添加如下 参数,其中***–device /dev/nvidia3:/dev/nvidia3***,根据自己的GPU情况改

--device /dev/nvidia0:/dev/nvidia0   
--device /dev/nvidia1:/dev/nvidia1  

--device /dev/nvidia-modeset:/dev/nvidia-modeset 
--device /dev/nvidia-uvm:/dev/nvidia-uvm 
--device /dev/nvidia-uvm-tools:/dev/nvidia-uvm-tools 
--device /dev/nvidiactl:/dev/nvinvidiactl 
--gpus all  

比如

docker run   -it --name  docker_name    

--device /dev/nvidia0:/dev/nvidia0   
--device /dev/nvidia1:/dev/nvidia1   

--device /dev/nvidia-modeset:/dev/nvidia-modeset 
--device /dev/nvidia-uvm:/dev/nvidia-uvm 
--device /dev/nvidia-uvm-tools:/dev/nvidia-uvm-tools 
--device /dev/nvidiactl:/dev/nvinvidiactl 
--gpus all  

--restart=always 
-p 999:22   
--shm-size 8G  
-v /home/UserHome/share4DockerDir/:/home/  
 imageID  /bin/bash 

思考

这个问题是可复现,看github 上讨论没官方的方案,然后其中一条讨论 这个方法,试了试,有用,就分享下。没深入研究为啥原因和为啥有有效,如果有兄弟懂,或者更好的方法期待讨论

你可能感兴趣的:(环境搭建,docker,ubuntu,linux)