大部分情况下,更新nvidia gpu驱动不需要重启机器。如果你的驱动成功更新,但是使用nvidia-smi提示有Failed to initialize NVML: Driver/library version mismatch
,一般情况下是因为更新的驱动没有被成功加载。
查看当前nvidia driver是否被使用
执行第二条命令可以直接列出正在使用gpu的程序。比如nv-hosten
是DCGM的server端,直接kill或者使用nv-hostengine -t
将其退出即可。如果是其他程序,比如gdm3,可以通过sudo service gdm3 stop
来终止桌面。
执行第一条命令,如果结果仍有输出,则回到上一步继续检查是否漏掉了某些程序没有关闭。
lsmod | grep nvidia
lsof | grep nvidia
关闭nvidia模块
关闭窗口管理器
systemctl isolate multi-user
如果以下命令出现了错误,找不到某个模块,则将其从命令中去掉然后重复执行,直到没有错误输出。如果出现的错误是modprobe: FATAL: Module nvidia is in use.
,则回到前一段,继续查看是否仍有程序在使用GPU。
modprobe -r nvidia_uvm nvidia_drm nvidia_modeset nvidia-vgpu-vfio nvidia
重新加载nvidia 模块
modprobe nvidia
Reference
https://developer.nvidia.com/nvidia-development-tools-solutions-err_nvgpuctrperm-permission-issue-performance-counters
https://askubuntu.com/questions/1166317/module-nvidia-is-in-use-but-there-are-no-processes-running-on-the-gpu
Comments