最近需要给NAS添加一张显卡,但这无疑会极大增加NAS的功耗,哪怕待机显卡也会有28W左右的限制功耗,故使用Oculink显卡坞的方式将显卡外置,需要时再接通显卡坞电源。
弹出PCI设备
确保PCI设备限制
可以使用fuser命令查看哪些程序正在使用设备:
sudo fuser -v /dev/nvidia*确保无重要程序后可以直接使用fuser命令或kill命令结束进程:
sudo fuser -k /dev/nvidia*卸载内核模块
卸载设备驱动相关的内核模块:
# 需要注意卸载顺序
sudo modprobe -r nvidia_drm
sudo modprobe -r nvidia_modeset
sudo modprobe -r nvidia_uvm
sudo modprobe -r nvidia这步似乎是可选的,至少在不卸载NVIDIA时直接弹出设备并未发现任何异常。
弹出PCI设备
使用lspci命令查看PCI地址:
lspci由此便可得到该PCI设备的地址是10:00.0,将Domain补充上(绝大多数设备的域都是0000):
0000:10:00.0
接下来使用以下命令弹出PCI设备:
echo 1 | sudo tee /sys/bus/pci/devices/0000:10:00.0/remove警告
注意 若设备是显卡,弹出时还需要将显卡的音频设备弹出(专业卡除外)。
危险 PCI/Oculink设备不能带电拔插,若需要拔插请关机!(若设备使用外部电源,可关闭电源)
扫描PCI设备
经测试该方法只对使用以上方法弹出的PCI设备有效。
使能扫描
echo 1 | sudo tee /sys/bus/pci/rescan使用lspci查看是否已被识别到。
拉起驱动
- 使用
modprobe命令加载驱动。 - NVIDIA显卡可直接执行
nvidia-smi,会自动拉起驱动。