问题
nVidia 显卡用作深度学习时,其中一部分显存被图形界面的渲染占用,导致几百兆显存一直无法利用,这里另插一张 AMD 显卡负责图形界面输出,以便释放被占用的 nVidia 显存。
方法
- 准备一张 AMD 亮机卡,这里我用的是 AMD 的 R5 340,有一定的视频解码能力,应对浏览器、视频、代码等场景绰绰有余。把显卡插在主板多余的 PCIe 插槽上,并把显示器插在这张显卡上。
- 根据自己系统版本在官网下载 AMD 显卡驱动程序并安装,一些系统可能会自带。
bash
# 下载驱动
wget https://repo.radeon.com/amdgpu-install/6.4.4/ubuntu/jammy/amdgpu-install_6.4.60404-1_all.deb
# 安装 amdgpu-install
sudo dpkg -i amdgpu-install_6.4.60404-1_all.deb
# 安装驱动
sudo amdgpu-install
验证驱动是否正常工作(我这里正常识别到了 nvidia 和 AMD 的显卡),此时要记住 AMD 显卡的 PCI 设备号,例如这里是07:00.0
。
bash
lspci | grep -i vga

- 创建一个文件用于amd显卡调用。
bash
touch nano /etc/X11/xorg.conf.d/10-amd.conf
在文件中写入如下内容:
bash
Section "Device"
Identifier "AMD GPU"
Driver "amdgpu"
BusID "PCI:7:0:0" # 这里改成自己显卡的设备号
Option "DRI" "3"
EndSection
Section "Screen"
Identifier "Screen0"
Device "AMD GPU"
EndSection
- 重启。重启后可以看到不再有进程占用显存。
使用radeontop
命令查看 AMD gpu 显存占用情况,可以看到之前的显存占用转移到了 AMD 显卡: