谷歌工程师提交补丁:Linux 内核首次支持 OOM 策略可编程


Linux 内核正迎来一项可能改变内存管理方式的新提案。来自谷歌的内存管理专家 Roman Gushchin 提交了一组补丁,计划允许通过 BPF(eBPF)直接定制系统在 内存溢出(OOM, Out-of-Memory) 时的处理逻辑。这意味着,长期以来依赖内核默认 OOM killer 或用户空间工具(如 systemd-oomd)的局限性,或将被更灵活、可编程的机制取代。

https://lore.kernel.org/lkml/[email protected]/

该方案的核心思路是在内核触发 OOM killer 之前,先调用 BPF 程序。运维人员或云平台可以借此决定是终止某个特定进程、清理某个内存 cgroup,甚至通过删除 tmpfs 文件来释放内存,而不必一刀切地依赖内核默认策略。同时,新的补丁还引入基于 PSI(Pressure Stall Information) 的 OOM 触发机制,更好地判断何时真正进入“内存压力”状态,从而避免系统假死或误杀关键进程。

在实现上,这些补丁增加了新的 BPF 辅助函数,例如显式杀死指定进程的 bpf_oom_kill_process(),以及获取内存 cgroup 根节点的 bpf_get_root_mem_cgroup(),为内核空间提供了更强的可编程接口。

如果最终被合入主线,Linux 将首次赋予开发者和运维团队在内核层面 “编写自己的 OOM 策略” 的能力,这对数据中心、云计算平台以及对内存敏感的服务部署而言,都可能带来深远影响。


相關推薦

2023-10-19

前两天),相约开源PHP办公室,我们一起聊 AI!>>> 谷歌工程师近日向 Linux 内核提交了一个新补丁,希望为其添加名为 mseal() 的系统调用「mseal() syscall」。 据介绍, 谷歌这个独立于架构的系统调用最初由 Chrome OS 上的 Chrom

2025-08-12

Linux 创始人 Linus Torvalds 近日在 Linux 内核邮件列表中公开批评了谷歌 Android 团队成员 Palmer Dabbelt 提交的 RISC-V 补丁代码,称其“质量低劣且严重超时”,直言“这是垃圾”,并警告不得再迟交。 Palmer Dabbelt 于上周五提交了一份

2023-02-24

要是将短任务放在当前 CPU 上,以避免跨 CPU 唤醒。Intel 工程师陈宇在补丁邮件中解释道: 在高负载系统中,短期任务频繁跨 CPU 唤醒可能会成为性能问题的主要来源,因为它会带来频繁的上下文切换。 在该补丁生效后,如

2022-11-23

优化)来进一步提升其发行版的性能。 2022 年年底,SUSE 工程师 Jiri Slaby 提交了 GCC LTO 支持补丁,同时作为“第一次征求意见”,其部分内容是基于 Andi Kleen 先前的补丁以及 SUSE 工程师 Martin Liska 的工作。 虽然对编译器的链接

2025-08-28

使用,因此该驱动仍被保留在内核中。 此次补丁由 Intel 工程师 Andy Shevchenko 提交,主要是代码清理工作,包括:移除未使用的宏、替换常量、整理头文件顺序、合并并修正旧补丁中的问题等。虽然没有引入新功能,但有助于提

2022-03-31

这个 shutdown 时间极大地拖慢了机器的重启时间。 谷歌工程师在的补丁集中提出了一个总线级别的异步 shutdown 接口,修改了核心驱动程序、设备 shutdown routine 以利用新接口;同时保持与现有同步实现的向后兼容性,并利用新

2023-01-08

谷歌工程师 James Houghton 已向内核发送了两轮补丁,用于将 HugeTLB 高粒度映射 (HGM) 的概念引入 Linux 内核。目前他共发送了 46 个处于 RFC 后状态的补丁集以供审核。 Linux 内存管理采用“分页机制”, 当运行内存需求量较大时

2025-04-04

近日,索尼工程师 Yuezhang Mo 提交了 Linux 补丁,除了修复 exFAT 堆栈损坏、错误返回等问题外,还大幅升级了文件性能,将删除 80GB 文件的时间从 287 秒缩短至 2 秒,效率提升了 172 倍。 exFAT(Extensible File Allocation Table)是微软于

2022-09-29

Nick Desaulniers 是谷歌的 Linux 内核开发者,曾因使用 LLVM/Clang 编译 Linux 内核而被众人熟知。最近他开始尝试在 macOS 平台编译 Linux 内核。 从他近日发送的邮件来看,Nick Desaulniers 已成功在他的 Apple M2 MacBook Air 上(运行 macOS 12.5.1 "M

2025-08-28

腾讯工程师 Kairui Song 近日向 Linux 内核邮件列表提交了新补丁,提议引入新架构 Swap Table——将 swap cache、swap 映射和 swap 分配器整合在一起,成为新的后端基础设施。 据介绍,最新的 Phase I 补丁共包含 9 个改动,已经展现

2023-08-08

他们正在积极将 BBRv3 提交到上游 Linux 内核主线。 谷歌工程师于 7 月底出席了在旧金山举行的 IETF 117 活动。根据工程师的介绍,BBRv3 包含各种修复和算法更新。此外 BBRv3 的数据包重传率降低了 12%,延迟也略有改善。 按照

2023-03-26

兆芯 “永丰” CPU ▲ 兆芯 “陆家嘴” CPU 近日,兆芯工程师向 Linux 内核提交了首批支持“永丰”架构的补丁。补丁内容主要是为“永丰”架构添加 PMC 支持。

2022-02-15

nux 的主要开发者 Miguel Ojeda 近日再向 Linux Kernel 邮件列表提交了一个新补丁 (v4),继续推进在 Linux 内核中增加对 Rust 作为第二语言支持。此举意味着对 Linux 内核驱动程序等的可选 Rust 编程支持继续成熟;Phoronix 称,按着这一趋

2022-11-28

tesla-fsd-soc-linux-pcIe 三星工程师在今年年初发布了 Linux 补丁,以在主线 Linux 内核中启用特斯拉全自动驾驶"FSD"SoC。Linux 5.18 支持了初始的特斯拉 FSD SoC,此后也还有一些其他的支持工作在继续推进中,如媒体功能。科技网站 Phoroni