天天看點

nvidia-smi:command not found 問題解決,Failed to initialize NVML: Driver/library version mismatch

在裝驅動之後。發現nvidia-smi不能用了。于是在網上找到了解決方案。

簡單來看,就兩步

1.unload nvidia kernel mod

2.reload nvidia kernel mod

執行起來就是

1.sudo rmmod nvidia

2.sudo nvidia-smi

nvidia-smi 發現沒有 kernel mod 會将其自動裝載。

但是事情遠遠不是這麼簡單,一般情況下都會遇到解除安裝失敗。

$ sudo rmmod nvidia

rmmod: ERROR: Module nvidia is in use by: nvidia_modeset nvidia_uvm

1

2

$ sudo rmmod nvidia

rmmod: ERROR: Module nvidia is in use by: nvidia_modeset nvidia_uvm

這時,就要一點一點的解除安裝整個驅動了,首先要知道現在kernel mod 的依賴情況,首先我們從錯誤資訊中知道,nvidia_modeset nvidia_uvm 這兩個 mod 依賴于 nvidia, 是以要先解除安裝他們

$lsmod | grep nvidia
nvidia_uvm            647168  0
nvidia_drm             53248  0
nvidia_modeset        790528  1 nvidia_drm
nvidia              12144640  152 nvidia_modeset,nvidia_uvm            12144640  152 nvidia_modeset,nvidia_uvm
           
$lsmod | grep nvidia
nvidia_uvm            647168  0
nvidia_drm             53248  0
nvidia_modeset        790528  1 nvidia_drm
nvidia              12144640  152 nvidia_modeset,nvidia_uvm            12144640  152 nvidia_modeset,nvidia_uvm
           

可以看到 nvidia 被使用了152詞,我們可以先解除安裝 nvidia_uvm 和 nvidia_modeset

先檢視下有哪些程序使用了 nvidia*

1

sudo lsof -n -w /dev/nvidia*

這些程序有個了解,如果一會解除安裝失敗,記得關閉相關程序。

解除安裝

sudo rmmod nvidia_uvm
sudo rmmod nvidia_modeset
           

再 lsof 一遍,如果 nvidia 的使用 Used by 還沒有降到 0,kill 相關程序

最後

sudo rmmod nvidia
nvidia-smi
           

完工

https://comzyh.com/blog/archives/967/

繼續閱讀