我安装了 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-modeset
并nvidia-uvm
用于 Jupyter Notebook 中的 GPA 密集型处理,希望这能帮助遇到类似问题的其他人!