用AMD显卡节省nVidia显卡显存占用

问题

nVidia 显卡用作深度学习时,其中一部分显存被图形界面的渲染占用,导致几百兆显存一直无法利用,这里另插一张 AMD 显卡负责图形界面输出,以便释放被占用的 nVidia 显存。

方法

  1. 准备一张 AMD 亮机卡,这里我用的是 AMD 的 R5 340,有一定的视频解码能力,应对浏览器、视频、代码等场景绰绰有余。把显卡插在主板多余的 PCIe 插槽上,并把显示器插在这张显卡上。
  2. 根据自己系统版本在官网下载 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
  1. 创建一个文件用于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
  1. 重启。重启后可以看到不再有进程占用显存。

    使用radeontop命令查看 AMD gpu 显存占用情况,可以看到之前的显存占用转移到了 AMD 显卡:
相关推荐
wuminyu4 小时前
JVM规范学习总结:解释器与JIT编译器如何处理JVM字节码
java·linux·c语言·jvm·c++
IMPYLH5 小时前
Linux 的时间为什么会被拨回去
linux·运维·服务器
tellmewhoisi5 小时前
深度学习32:卷积神经网络:卷积层(卷积运算,填充,步幅)
人工智能·深度学习·cnn
叼烟扛炮7 小时前
[Git 实战] 学习笔记:从生成 SSH 密钥到解决 TortoiseGit 推送报错全指南
linux·运维·笔记·git·学习
xbzb7 小时前
OpenStack 网络管理(理论):Linux 网络虚拟化是 Neutron 的地基
linux·服务器·网络·openstack·network·neutron
Android系统攻城狮8 小时前
Linux FFmpeg深度解析之avcodec_flush_buffers调用流程与实战(十九)
linux·运维·服务器·ffmpeg·车载音视频·ffmpeg音视频进阶
智码看视界9 小时前
模型压缩与部署——量化、剪枝与 ONNX 导出
深度学习·剪枝·模型压缩·tensorrt·模型部署·onnx·量化
Zzj_tju9 小时前
智能体该向哪段经验学习?Routed CL 在混合任务中探索记忆分流
人工智能·深度学习·机器学习·语言模型
水饺编程10 小时前
第2章:Linux 基础,解压缩【.tar.bz2】压缩包文件
linux·c语言·汇编