這幾天系統更新,顯卡驅動由525.147.05升級到了535.171.04(tested),終端運行watch -n 1 nvidia-smi 實時顯示顯卡占用情況時,偶爾出現 Failed to initialize NVML: Driver/library version mismatch 問題 ...
這幾天系統更新,顯卡驅動由525.147.05升級到了535.171.04(tested),終端運行watch -n 1 nvidia-smi 實時顯示顯卡占用情況時,偶爾出現 Failed to initialize NVML: Driver/library version mismatch 問題,於是將驅動切換成open kernal版本,重啟後黑屏左上角游標閃爍,於是嘗試使用命令行移除open kernal 版本
1、首先 Ctrl+Alt+F2 切到命令行,輸入usrname,password登錄
2、然後移除當前的nvidia驅動,並更新一下
sudo apt-get purge nvidia*
sudo apt-get update
3、reboot 重啟電腦,這時系統使用預設自帶的驅動,然後打開Software & Updates, 從Additional Drivers再切換到之前的535(tested)版本。
可是前面的移除驅動操作導致docker無法啟動容器了,這是因為NVIDIA Container Toolkit 被卸載了,所以命令行切換顯卡驅動不建議使用上面方法,可以使用其他非移除的方式來切換驅動。
解決當前無法啟動docker容器問題,查看一下,輸入 ls -al /usr/bin/nvidia-container* ,可以看見僅有一行
4、嘗試重新安裝NVIDIA Container Toolkit, 出錯:Could not handshake: Error in the pull function
5、嘗試直接在NVIDIA github下載 deb包,下載錯誤提示中的版本有關的6個包, https://github.com/NVIDIA/libnvidia-container/tree/gh-pages/stable/ubuntu18.04/amd64
(1)libnvidia-container1_1.13.5-1_amd64.deb
(2)libnvidia-container-tools_1.13.5-1_amd64.deb
(3)nvidia-container-toolkit-base_1.13.5-1_amd64.deb
(4)nvidia-container-toolkit_1.13.5-1_amd64.deb
(5)nvidia-docker2_2.13.0-1_all.deb
(6)nvidia-container-runtime_3.13.0-1_all.deb
6、按順序依次安裝
安裝無誤後更新一下
最後重啟docker
再次查看,出現了nvidia-container-toolkit
OK,容器可以啟動了,問題解決。
Enjoy it!