哪个进程正在使用 Linux 内核模块?

哪个进程正在使用 Linux 内核模块?

我正在尝试运行这个命令:

# rmmod nvidia

但我明白:

ERROR: Module nvidia is in use

我如何知道哪些进程正在使用 nvidia 模块?

答案1

据我所知,没有直接的方法可以获取正在使用模块的进程。

您可以尝试lsmod | grep <module name>查看正在使用某个模块的所有已加载的内核模块。

您还可以尝试dmesg | grep <module name>查看内核日志是否有任何关于哪些进程可能正在使用模块的线索。

您可能能够使用 删除该模块rmmod --force <module_name>

至于 nvidia 模块,如果您关闭 X11,您应该能够将其删除。

init 4
rmmod nvidia

对我有用。

答案2

对于 nvidia 模块,可以通过以下方式检索此信息

$ sudo lsof /dev/nvidia*
[sudo] password for XXXXXXX: 
COMMAND     PID                USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
nvidia-pe 19360 nvidia-persistenced    2u   CHR 195,255      0t0  503 /dev/nvidiactl
nvidia-pe 19360 nvidia-persistenced    3u   CHR   195,0      0t0  504 /dev/nvidia0
nvidia-pe 19360 nvidia-persistenced    5u   CHR   195,0      0t0  504 /dev/nvidia0
nvidia-pe 19360 nvidia-persistenced    6u   CHR   195,0      0t0  504 /dev/nvidia0
nvidia-pe 19360 nvidia-persistenced    7u   CHR 195,254      0t0  513 /dev/nvidia-modeset
nvidia-pe 19360 nvidia-persistenced    8u   CHR   195,0      0t0  504 /dev/nvidia0
nvidia-pe 19360 nvidia-persistenced    9u   CHR   195,1      0t0  505 /dev/nvidia1
nvidia-pe 19360 nvidia-persistenced   10u   CHR   195,1      0t0  505 /dev/nvidia1
nvidia-pe 19360 nvidia-persistenced   11u   CHR   195,1      0t0  505 /dev/nvidia1
nvidia-pe 19360 nvidia-persistenced   12u   CHR 195,254      0t0  513 /dev/nvidia-modeset
nvidia-pe 19360 nvidia-persistenced   13u   CHR   195,1      0t0  505 /dev/nvidia1

相关内容