“模块 nvidia 正在使用中”,但 GPU 上没有运行任何进程

“模块 nvidia 正在使用中”,但 GPU 上没有运行任何进程

我正在尝试配置 VirtualGL,并且配置显示以下消息:

IMPORTANT NOTE: Your system uses modprobe.d to set device permissions. You
must execute rmmod nvidia with the display manager stopped in order for the
new device permission settings to become effective.

当我尝试运行rmmod nvidia(或使用sudo)时,它说模块 nvidia 正在被使用:

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

我已经通过运行停止了我的窗口管理器sudo systemctl stop sddm.service,因此当我检查时nvidia-smi,它说 GPU 上没有运行任何进程。

我在这个问题上找到的大多数帖子都与大黄蜂有关,但我甚至没有安装它。

输出nvidia-smi

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 430.40       Driver Version: 430.40       CUDA Version: 10.1     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 1080    Off  | 00000000:01:00.0 Off |                  N/A |
| 33%   39C    P8    12W / 200W |      9MiB /  8119MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+

Ubuntu 18.04

答案1

在 Ubuntu 20.04 上,我能够使用以下命令(通过 SSH 或纯文本 tty 执行)完全卸载并重新加载 NVIDIA 模块。

sudo service gdm3 stop

sudo rmmod nvidia_uvm
sudo rmmod nvidia_drm
sudo rmmod nvidia_modeset
sudo rmmod nvidia

# Then, reload them if desired:
sudo modprobe nvidia
sudo modprobe nvidia_modeset
sudo modprobe nvidia_drm
sudo modprobe nvidia_uvm

这在例如无需重新启动即可升级 NVIDIA 驱动程序时非常有用(这可能会通过无人值守apt升级意外发生)。


正如 @Thomas 在评论中指出的那样,如果仍然有某种东西阻止某个模块被卸载,通常可以找出原因:

lsmod | grep nvidia
lsof | grep nvidia

相关内容