在裝驅動之後。發現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/