哪个进程正在使用 nvidia 模块?

哪个进程正在使用 nvidia 模块?

我安装了 bumblebee 3.0,用 optirun 启动了 chromium-browser,虽然我关闭了 chromium,但显卡仍然开着。我怎么知道哪个进程正在使用 nvidia 模块,导致显卡无法关闭?

root@magneto:/# cat /proc/acpi/bbswitch 
0000:01:00.0 ON
root@magneto:/# 
root@magneto:/# tee /proc/acpi/bbswitch <<<OFF
OFF
root@magneto:/# cat /proc/acpi/bbswitch 
0000:01:00.0 ON
root@magneto:/# dmesg |tail -1
[92040.608982] bbswitch: device 0000:01:00.0 is in use by driver 'nvidia', refusing OFF
root@magneto:/# 

答案1

我注意到 Flash 有时会自动打开卡,然后加载驱动程序。如果未使用该模块,您可以安全地卸载它,然后手动禁用该卡:

sudo rmmod nvidia
sudo tee /proc/acpi/bbswitch <<<OFF

如果无法卸载驱动程序,则会显示:

ERROR: Module nvidia is in use

您对此无能为力。可以使用它来开发 Xorg 服务器的 CUDA 应用程序。您可以使用以下命令进行检查:

lsof -n -w -t /dev/nvidia*

除非您删除,否则它将返回一个 PID 列表-t

答案2

只是为了补充@Lekensteyn 的精彩答案,如果您想终止所有使用 nvidia 模块的进程以释放它们,您可以运行以下命令:

sudo kill -9 $(lsof -n -w -t /dev/nvidia*)

这能够帮CUDA error: all CUDA-capable devices are busy or unavailable我解决错误!具体来说,我能够解锁nvidia-modesetnvidia-uvm用于 Jupyter Notebook 中的 GPA 密集型处理,希望这能帮助遇到类似问题的其他人!

相关内容