求助:双 7900XTX 一装载模型就两卡 100% / ~100W 空转(与 TheRock#9484 同型)——请教现在能用的解法
-
双 7900XTX 一装载模型就两卡 100% / ~100W 空转(与 TheRock#9484 同型)——请教现在能用的解法
️ 本文全部数字都是我自己机器上的实测。先说结论
不是配置错,也不是显存满。是引擎在 GPU 上挂了一个"未满足的等待",命令处理器就把卡钉在满速——这和 ROCm/TheRock#9484(2026-10-26)描述的是同一件事;而 #9141 里 AMD 的回复是修复在内核驱动,进 mainline 7.4。我们内核是 7.0.0-38,拿不到。
想请教的是:在修复下来之前,有没有能用的办法。
一、机器与软件
主板/CPU: ASRock X570 ACE · Ryzen 5 3500X(6C/6T,无 SMT) 内存: 94 GB GPU: RX 7900 XTX × 2(gfx1100)· CPU 的 16 lane 拆 8+8,实测各 14.2 GB/s BIOS/内核: IOMMU 开 + GRUB iommu=pt(这台 X570 的 P2P 因此可用,hipDeviceCanAccessPeer = YES) 系统: Ubuntu · kernel 7.0.0-38-generic ROCm: 7.2.3 · hipBLASLt 1.2.2(调优表 100200) 引擎: Strata-rdna3(0.1.43 + PR#1)· IQ3_S · 层切分 24/24 · --expert-cache auto · P2P 传输
二、现象
状态 GPU0 GPU1 引擎装载完、没有任何请求 100% / 92–107W 100% / 108–113W systemctl stop之后0% / 4W 0% / 7W 加 --batch 2,刚启动时0% / 6W 100% / 113W 加 --batch 2,发过一条请求之后100% / 104W 100% / 113W 最后一行才是稳定状态:两卡各 ~100W,合计 ~210W ≈ 5 度电/天。
关键的一条:两张卡 VRAM 都是 99%,但其中一张能到 6W——所以不是"显存装满"造成的。
三、诊断
rocm-smi --showclocks: sclk 钉在 level 1 = 3044 / 3078 MHz mclk 在低位 = 96 / 456 MHz sysfs: gpu_busy_percent = 100,mem_busy_percent = 0 top -H(引擎 34 个线程): 全部 sleeping,CPU 0% 引擎日志: 自启动以来没有任何请求着色器满速、显存零活动、主机零活动——不是有个核在算,是挂起的等待把 CP 钉住了。这和 #9484 的结论一致:一个未满足的 AQL
BARRIER_AND就能造成 100% GFX / ~95W。
四、我试过的(都无效)
STRATA_DP_PREFILL=0、STRATA_POOL_SPIN_US=0、STRATA_ADAPT_NOWAIT=1—— 三个都不改变(仍是 100% / ~100W)- 上游已经排除过、我没再重复试的:换 ROCm(7.2.4 / 7.14 / 10.1)、队列优先级、
sched_policy=2、GPU_MAX_HW_QUEUES=1、HSA_ENABLE_SDMA=0,以及 8 月那批 gfx11 MES timer 补丁(#9484 的作者特意 backport 到测试内核,也没修好他的情况)
五、想请教的三件事
- Strata 这边:有没有开关能让引擎在空闲时把自己的 GPU 等待排空——用下一次请求的几毫秒,换回正常的空闲功耗?我在引擎里看到
doorbell_wait这类东西,但没找到对应的开关。 - 内核这边:有没有人在 Ubuntu 上装到过带这批 amdgpu / MES 空闲修复的内核(7.4 的 backport、HWE、或 PPA)?装上之后用什么指标确认它生效——是不是应该变成"两卡都 ~9–11W / use 0%"?
- 有没有安全的压法:
power_dpm_force_performance_level已经是 auto。手动--setperflevel low或给 sclk 设上限,会不会伤推理(尤其 prefill)?有没有人实测过代价?
六、怎么在你机器上复现(一分钟)
# 装载模型、不发任何请求,然后: rocm-smi --showpower --showuse cat /sys/class/drm/card1/device/gpu_busy_percent # 100 cat /sys/class/drm/card1/device/mem_busy_percent # 0 rocm-smi --showclocks | grep sclk # 满速 # 停掉那个进程 → 两卡应回到 4–7W。若如此,就是同一个问题。
七、参考
- ROCm/TheRock#9484 — [gfx1100][MES] Pending AQL BARRIER_AND forces 100% GFX / ~95W idle power on RX 7900 XTX
- ROCm/TheRock#9141 — 同型问题;AMD 2026-09-12:修复在内核驱动,进 mainline 7.4
任何一条有答案都先谢过。
-
-
我也是雙7900xtx, 亦曾經發生空轉, 兩個gpu長期100% load, 我將HIP queue limits (GPU_MAX_HW_QUEUES=6 ) 由8轉為6便沒有空轉