AMD R9700 32G 硬体配置分享 + --highvram 显存溢出导致黑屏重启的解决经验
-
硬件配置
搞了一套新机器专门跑 ComfyUI 数字人视频,配置如下:
配件 型号 CPU Intel Xeon GPU AMD Radeon AI PRO R9700 32GB (gfx1201) 内存 62GB DDR4 系统 Ubuntu 24.04 LTS 内核 6.8.0-136-generic 驱动安装
- ROCm 7.14 (amdgpu-dkms 6.19.14-2364437.24.04)
- PyTorch 2.11.0+rocm7.14.0
- ComfyUI 0.28.0
整体感受
装驱动没遇到什么大障碍,ROCm 7.14 对 R9700 支持不错。安装好驱动之后,用了坛子里 work 那个帖子的下载,直接套用工作流就开始跑视频了,开箱即用的感觉。
遇到的问题:黑屏重启
但是想上无限时长工作流的时候,跑了没多久直接黑屏,然后跳到系统登录界面,像是机器重启了一样。
用 Hermes 查了系统日志(journalctl + dmesg),找到关键错误链:
amdgpu: Not enough memory for command submission! (error -12) amdgpu: Failed to pin framebuffer with error -12 GNOME Shell crashed with signal 6根本原因是 ComfyUI 启动参数带了
--highvram,这个模式下所有模型焊死在显存里不释放。我的工作流加载了:- z_image_turbo_bf16 (12GB)
- qwen_3_4b text encoder (7.5GB)
- ae VAE (320MB)
- 各种其他模型 + 中间张量
加起来超过 32GB 了,VRAM 被打爆 → amdgpu 驱动崩了 → GNOME 显示服务器跟着崩 → 黑屏登录。
解决方案
去掉
--highvram启动参数,让 ComfyUI 用默认的 NORMAL_VRAM 模式(不加任何 --vram 参数就是默认)。这样每个模型用完就卸载,不会长期占着显存。32GB 显存在 normal 模式下依然非常充裕,速度几乎没区别。启动脚本改前:
python main.py ... --highvram --enable-manager改后:
python main.py ... --enable-manager启动日志可以看到:
Set vram state to: NORMAL_VRAM Using async weight offloading with 2 streams想问问大家
这个方案是不是最优解?还是说有什么更好的办法,比如手动控制模型卸载顺序,或者在 workflow 层面做显存优化?听听各位大佬的意见。
给新朋友的提醒
如果你的 ComfyUI 启动参数里有
--highvram,加载多个大模型时一定要注意显存总量!--highvram不会卸载任何已加载的模型,工作流里模型多了很容易爆显存。特别是 R9700/AMD 卡,显存爆了不只是报错,而是整个桌面崩掉回到登录界面。遇到类似黑屏重启的问题,先去查journalctl -k看看有没有 amdgpu 报错。