Linux 7.3 在显存用尽时提升性能

Linux 内核 7.3 引入了新的 VRAM 管理机制,在 GPU 显存耗尽时能显著提升性能,尤其适用于游戏和图形密集型工作负载。评论者将此与 Windows 和 macOS 在内存压力下的表现进行对比,讨论 overcommit、swap 和 OOM 杀进程,并指出如果不借助 earlyoom 或 systemd-oomd 等工具进行调优,Linux 往往仍会冻结或随机杀死应用。讨论串还强调了 Nvidia Linux 驱动长期存在的问题,以及 AMD 在 VRAM 与系统 RAM 之间更无缝回退的能力,并延伸到内存泄漏、桌面响应性,以及不同平台如何在稳定性与灵活性之间取舍的更广泛担忧。

对内核工作的总体反应

  • 文章因清晰、细致的内核工程内容以及有用的跟踪工具(例如 gpuvis、DRM tracepoints)而受到赞赏。
  • 许多人对 Linux 7.2/7.3 对游戏和 GPU 性能的关注表示兴奋。
  • 一些人指出,良好的 VRAM 行为最终受限于硬件设计(例如 scanout 只能使用物理地址)。

游戏、VRAM 超量提交与资产浪费

  • 大家对 VRAM 超量提交改进如何帮助拥有大量纹理、并且经常因过大或未使用资源而浪费 VRAM 的游戏非常感兴趣。
  • 评论者提到现实中的例子:巨大的、完全没必要的纹理,以及发布时存在大量内存浪费的游戏。
  • 有人想知道内核是否可以始终保留连续的 scanout 区域,或者通过移动页面并更新页表来在物理上“碎片整理” VRAM;其可行性仍不明确。

计算 / LLM 与 VRAM–磁盘设想

  • 对于 LLM 推理,大多数人认为收益不大:工作负载更可预测,可以手动管理 GPU 内存。
  • 讨论了将 GPU 数据转移到 NVMe 作为“VRAM swap”;最佳情况大约会慢 4 倍,因为受 PCIe 通道限制,所以只有小众场景才有可能。

Linux 与 Windows/macOS 的 GPU 和桌面体验

  • 许多人为 Linux 内核的快速改进而欢呼;也有人指出回归问题(例如被回退的 GPU 调度器)以及发行版特定的破坏,尤其是在滚动发行版上。
  • Windows 被认为在 HDR/VRR 和 eGPU 支持方面更成熟;Linux 被视为正在追赶,但并非在所有方面都更优。
  • Apple Silicon/macOS 的评价褒贬不一:对一些人来说,OOM 界面和统一内存行为很好;但也有人报告在重度 ML/GPU 使用后持续出现变慢。

VRAM 处理:NVIDIA 对 AMD 以及 Wayland

  • 多条报告称,Linux 上的 AMD GPU 在 VRAM 用满时会无缝溢出到系统 RAM,而 Linux+Wayland 下的 NVIDIA 历来会在 VRAM 耗尽时崩溃或拒绝分配。
  • 还提到了 NVIDIA 驱动在 Wayland 上长期存在的 bug(例如与 KWin 的内存泄漏、缺少“shared VRAM”);许多人得出结论:当前 AMD 是更安全的 Linux 选择,尤其适合 Wayland 和游戏。

OOM 行为、Swap 与调优

  • 线程中有很大一部分讨论 Linux 在 RAM 压力下冻结,而 Windows/macOS 会变慢但仍保持响应。
  • 解释主要围绕 Linux 的 overcommit 和启发式 OOM 杀进程,以及 Windows 更严格的分配模型。
  • 提到的缓解措施包括:swap/zswap/zram、MGLRU 调优、earlyoom/systemd-oomd/nohang、overcommit 设置。
  • 观点分歧很大:有人说“配置正确时 Linux 没问题”,也有人认为默认桌面 OOM 行为长期以来就是一个对用户不友好的问题。

杂项

  • 澄清“VRAM”(而不是“vRAM”)才是标准用法;“vRAM”会让人联想到“virtual RAM”。
  • 简短提到对低层性能工程中来自代表性不足群体的贡献表示赞赏。