news 2026/10/21 17:26:23

Claude辅助Linux页缓存优化:23倍基准、RCU边界与新RFC

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Claude辅助Linux页缓存优化:23倍基准、RCU边界与新RFC

Claude辅助Linux页缓存优化:23倍基准、RCU边界与新RFC

10月19日,一份基于Linus Torvalds此前页缓存实验的重写RFC受到关注。原实验借助Claude Code协助开发,在64线程重复读取同一16字节热点时测得约23倍吞吐;新方案则把适用范围、RCU读侧安全和内存回收边界重新梳理。本文聚焦:这个数字测量了什么,以及为什么性能优化仍需要并发正确性证据。

如果你正在用 Claude Code、Codex 写程序,这件事比“AI 会不会取代程序员”的口号更有用。它展示了一段代码从“跑得快”走向“有机会被信任”时,还缺哪些证据。

Linus Torvalds(台上左侧)2024 年开源峰会资料照片;Pietro Lombardo 摄,Wikimedia Commons,CC0。此图并非本次补丁讨论现场。

先看清楚:23倍究竟是哪项成绩

问题出在 Linux 的页缓存。把文件的一部分先留在内存里,下次读取就不必每次找磁盘。多个处理器同时反复读同一小块数据时,系统原来会不停更新这块内存的引用计数,好像一群人每翻一次同一本资料,都要挤到一个柜台登记和注销。柜台成了瓶颈,文件本身却早已在内存里。

Linus 让 Claude Code 协助写代码、测试程序、审查与说明文字,并在公开邮件中明确说是在他的指导下完成。思路是:对于足够“热”的缓存页,读者先在一段受保护的时间里复制数据;即使页面准备被回收,也等这段时间结束再真正释放。这样可以少碰那个挤满人的引用计数柜台。

他公开的数字很醒目:在一台 Ryzen Threadripper 机器上,64 个线程反复从同一个位置读取 16 字节,吞吐从每秒约1330 万次升到约3.04 亿次,约为 23 倍。这是同一热点上的特定合成测试。Linus 本人随即强调,真实负载的收益会小得多。把它写成“Linux 全面快 23 倍”,会把测试条件抹掉。

原创数据图;数值取自 Linus 的内核邮件,64 线程、重复小块读取,不能代表日常电脑整体速度。

为什么“跑得快”还不等于“能上线”

旧流程虽然拥挤,却有一个容易理解的安全含义:读文件的人借用了缓存页,页面不能在他手里突然消失。新流程少做登记,就必须回答另一个问题:当页面被替换、文件大小变化、内存紧张时,读到的还是原来那份数据吗?

内核开发者在先前版本的讨论中指出过竞态:两个动作顺序只要刚好撞在一起,就可能读到不应暴露的内容。另一项测试也发现,延迟释放的页面在内存紧张时可能堆积,甚至触发意外的内存不足。它们不证明“Claude 写的代码全错”,但清楚说明速度曲线不能代替正确性证明。

10 月 19 日的新进展,正是 Meta 工程师 Kiryl Shutsemau 基于此前方案提交了重写的 RFC,也就是请社区讨论的草案。他把快速路径限定在已经变热、状态合适的页面,让冷数据仍走旧路;相关页面只有等读者结束后才释放。同时,他对内存回收、异常页面等情况补上处理,并在 EXT4、TMPFS、XFS 等场景做了测试。Phoronix 报道了这轮测试,Linux 内核邮件列表是原始讨论入口。这仍是待审草案,不是已经装进所有 Linux 电脑的正式更新。

这里有一个很实在的取舍:延迟释放页面能保护正在读取的数据,却也会让部分内存在短时间内不能重新分配。新方案只让热点页面进入快车道,并补上回收时的处理,正是在追求吞吐的同时限制这笔“内存欠账”。因此,评估结果不能只看每秒读取次数,还要看内存压力、回收过程以及不同文件系统下是否出现退化。公开测试给出了积极信号,尚不足以替代所有机器和负载上的审查。

这条时间线也纠正了一个容易误读的标题:最新进展不能简单算成“Claude 又独自把内核优化一次”。Linus 的实验提供了起点;发现边界、重写、扩充测试和后续审查都有人的参与。公开材料也没有证明 Kiryl 的改动完全没用 AI,因此不应反过来武断地写成“全靠人、AI 毫无作用”。

普通开发者能照着做什么

不必开发内核,也能把这个案例用到自己的 AI 编程工作中。假设你让 Claude Code 优化一个多人同时读取的服务,先把要求写成可检验的问题:哪些请求慢?是在读取同一份数据,还是网络、磁盘、数据库各自造成等待?让工具先提出假设和最小改动,再列出它预计会改善和可能会变差的场景。

第二步,同条件测前后。保留同一机器、同一输入、并发数、缓存状态和原版本,记录吞吐与延迟,而不是只截一张“最快的一次”。Linus 的 23 倍之所以可以讨论,恰恰因为公开了“64 线程反复读 16 字节”这个狭窄条件;如果换成单线程、大文件或频繁换数据,不能把旧数字直接搬过去。

第三步,主动找反例。这个补丁对应的反例不是抽象的“注意安全”,而是文件被截断或扩展、缓存页被替换、内存回收赶上读取等同时发生的情况。一般业务系统也有同类问题:订单修改碰上退款、重试碰上重复扣款、缓存失效碰上并发查询。让 AI 列边界可以加快排查,但测试设计和结果判断仍要对照真实系统约束。

最后留回退路径。先在小范围负载里观察,确认正确性和资源开销,再考虑上线。若优化只在刻意制造的热点里好看,其他场景反而变慢,就该收窄适用范围,甚至撤回。这也是新 RFC 仍在讨论而没有直接合入主线的原因之一:更广泛的验证尚未完成。

原创流程示意;对应本次补丁的热点限制、竞态与内存回收问题。

这件事真正改变了什么

AI 编程工具能把试错前移:原来迟迟没解决的性能问题,现在可以更快形成可运行的方案。但它也让“能跑出漂亮数字”的草案来得更快,审查负担不会自动消失。对个人开发者而言,价值不在于把生成代码的行数写进简历,而在于拿得出“问题、测试条件、边界、修正”这一整条证据链。

代码生成得越快,解释它为什么可靠的能力越值钱。

你若正在用 Claude Code 或 Codex,可以从一个低风险的真实瓶颈开始:先固定基线,再让工具提出改动,最后自己寻找最可能推翻结果的边界。这里会持续追踪热门 AI 工具的真实案例,讲清它们在什么条件下有用、又在哪里需要人把关。

你会把“AI 写出提速补丁”算作 AI 的成绩,还是更看重后续的人类审查与重写?

资料来源

  • Linux 内核邮件列表:Linus Torvalds, “Improve page refcount scalability”, 2026-10-13,https://lkml.iu.edu/2610.1/13146.html
  • Linux 内核源码提交:Linus Torvalds, “mm: read from the page cache without folio references”, 2026-10-10,https://mirrors.hust.edu.cn/git/linux.git/commit/?h=noref-filemap-read-with-llm&id=4c0f3697118eb3a708ea79175f7f07c43339bfab
  • Phoronix:Michael Larabel, “Linus Torvalds’ AI Code Improved: Huge Performance Wins With Reworked Code”, 2026-10-19,https://www.phoronix.com/news/Reading-Page-Cache-WO-Folio-Ref
  • freenode: “Linux RFC lets hot page-cache reads skip folio refcounts”, 2026-10-19,https://freenode.net/article/linux-rfc-lets-hot-page-cache-reads-skip-folio-refcounts
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/21 17:25:43

技术博客翻译的工程化实践:术语一致性与本地化工作流

1. 从"翻译"这件事说起:为什么技术博客的本地化值得认真对待做技术内容的人大多有过这样的经历:一篇写得极好的英文技术博客,读起来酣畅淋漓,但想分享给团队里英文没那么好的同事时,就犯了难。机器翻译出来的…

作者头像 李华
网站建设 2026/10/21 17:24:07

多旋翼无人机任务飞行:软件配置与仿真验证实战

简介:针对中国飞行器设计创新大赛多旋翼无人机任务飞行场景,这份资源以代码工程为主,面向具备一定机器人操作系统与嵌入式基础、希望快速上手无人机自主导航与飞行控制开发的参赛者和开发者。包内共两千个文件,压缩包约九百二十二…

作者头像 李华
网站建设 2026/10/21 17:23:39

macOS本地部署OpenClaw接入飞书:完整实操与踩坑指南

1. 部署前先搞清楚 OpenClaw 的定位:不是机器人框架,是 Agent 运行时先说结论:OpenClaw 不是那种“填个 token 就能跑”的聊天机器人框架,它是一个把大模型、工具调用、记忆存储和 IM 入口统一管理起来的 Agent 运行时。你在飞书里…

作者头像 李华
网站建设 2026/10/21 17:23:17

C++入门进阶:控制结构、函数、数组与指针一把梭

C入门这个系列写到第二篇,该碰点真正决定“程序好不好写”的东西了。上一篇把变量、类型、运算符这些地基过了一遍之后,很多初学者会卡在一个很尴尬的位置:语法都认识,但一看题目还是不知道从哪里下手,写出来的代码要么…

作者头像 李华
网站建设 2026/10/21 17:22:40

粘滞键后门原理与检测:Windows登录前辅助程序安全加固指南

粘滞键这个词,在安全圈里早就不是一个辅助功能那么简单了。我最早真正正视这个套路,是几年前给一台退役工作机做合规检查时,登录界面不小心连按了五次 Shift,弹出来的不是设置窗口,而是一个黑底白字的命令提示符。那一…

作者头像 李华
网站建设 2026/10/21 17:21:36

AI破解SCRAM认证机制兼容难题:从报错到修复

最近在一个内部系统做安全加固时,被一个典型的SCRAM认证机制不支持的难题卡了两天。业务侧早就定了要切换到SCRAM认证,结果联调时发现下游某个老组件在SASL协商阶段直接拒绝,日志里只有一行晦涩的“no suitable mechanism found”&#xff0c…

作者头像 李华