
Valve资助的内核开发者Natalie Vock近日公布了一组已合入Linux 7.3的显存管理补丁,核心目标是:当游戏请求的显存超过物理容量时,系统不再崩溃,而是将性能损失控制在可接受范围。
过去,显存超卖的后果是灾难性的。amdgpu驱动的锁机制存在ABBA死锁:提交GPU命令和驱逐内存需要互斥锁,两个并发提交可能互相等待,导致整个图形栈卡死。此外,被驱逐到CPU内存的数据会在GPU和CPU之间反复"乒乓",大量时间浪费在数据搬运而非渲染上。
新补丁引入了硬/软限流和LRU优先级排序机制,尊重内存优先级而非随机驱逐。实测数据显示:8GB显存显卡超额使用1GB时,平均帧时间19.6ms(约51fps),完全可玩;超额2GB时平均29.8ms(约33fps),虽偶有波动但仍在30fps基准线附近。优先级排序最佳情况下可提升30%性能。
这看似是游戏故事,实则影响远超游戏。同样的显存驱逐路径同样支配本地LLM推理:8GB显存跑不动的大模型权重会被推到CPU内存,走相同的PCIe通道,受相同的延迟约束。随着AI推理需求爆发,显存压力管理正成为通用基础设施问题,而非单纯的图形驱动问题。Valve持续为Linux生态输血,SteamOS已先行搭载这些改进,现在正逐步推向所有发行版——这是"商业公司资助开源"最正面的案例之一。