您的位置:首页 > 其它

解决Driver/library version mismatch

2018-03-21 19:00 1156 查看
服务器更新nvidia driver 版本之后,经常会出现
1Failed to initialize NVML: Driver/library version mismatch.<br>
这个问题出现的原因是kernel mod 的 Nvidia driver 的版本没有更新,一般情况下,重启机器就能够解决,如果因为某些原因不能够重启的话,也有办法reload kernel mod。简单来看,就两步unload nvidia kernel mod
reload nvidia kernel mod
执行起来就是sudo rmmod nvidia
sudo nvidia-smi
nvidia-smi 发现没有 kernel mod 会将其自动装载。但是事情远远不是这么简单,一般情况下都会遇到卸载失败。
12$ sudo rmmod nvidiarmmod: ERROR: Module nvidia is in use by: nvidia_modeset nvidia_uvm
这时,就要一点一点的卸载整个驱动了,首先要知道现在kernel mod 的依赖情况,首先我们从错误信息中知道,nvidia_modeset nvidia_uvm 这两个 mod 依赖于 nvidia, 所以要先卸载他们
12345$lsmod | grep nvidianvidia_uvm            647168  0nvidia_drm             53248  0nvidia_modeset        790528  1 nvidia_drmnvidia              12144640  152 nvidia_modeset,nvidia_uvm            12144640  152 nvidia_modeset,nvidia_uvm
可以看到 nvidia 被使用了152词,我们可以先卸载 nvidia_uvm 和 nvidia_modeset先查看下有哪些进程使用了 nvidia*
1sudo lsof -n -w  /dev/nvidia*
这些进程有个了解,如果一会卸载失败,记得关闭相关进程。卸载
12sudo rmmod nvidia_uvmsudo rmmod nvidia_modeset
再 lsof 一遍,如果 nvidia 的使用 Used by 还没有降到 0,kill 相关进程最后
12sudo rmmod nvidianvidia-smi
收工原创文章,转载请注明(最好把图片带走): 转载自Comzyh的博客本文链接地址: 解决Driver/library version mismatch
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐