Which process is using a Linux kernel module?

Я пытаюсь запустить эту команду:

# rmmod nvidia

Но я получаю:

ERROR: Module nvidia is in use

How can I know which process(es) is/are using the nvidia module?

1 ответ

Решение

Я не знаю прямого способа получить процессы, использующие модуль.

Ты можешь попробовать lsmod | grep <module name> чтобы увидеть все загруженные модули ядра, которые используют модуль.

Вы также можете попробовать dmesg | grep <module name> чтобы увидеть, есть ли в журналах ядра какие-либо подсказки относительно того, какие процессы могут использовать модуль.

Вы можете удалить модуль, используя rmmod --force <module_name>,

Что касается модуля nvidia, вы сможете удалить его, если выключите X11.

init 4
rmmod nvidia

работал на меня.

Для модуля 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
Другие вопросы по тегам