OpenAI 加入 Rust Foundation 白金会员:总计 60 万美元投入 Rust 维护与生态建设
Rust Foundation 宣布 OpenAI 成为新的 Platinum Member,并将通过基金会总计投入 60 万美元,用于支持 Rust 项目维护者、技术优先事项以及更广泛的生态建设。这不是普通的企业站台新闻,而是一次直接落到资金层面的长期支持承诺。
这笔投入覆盖的方向也很清楚:
- 资金会通过 Rust Foundation 与 Rust Project 既有机制分发,包括 Project Goals、Rust Innovation Lab 和更直接的维护者支持计划
- Rust Foundation 强调,Rust Project 的治理与技术决策仍然保持独立,企业资金不会改变项目本身的决策结构
- OpenAI 方面给出的理由也很直白:Rust 能帮助他们在 性能、安全性、可靠性 之间不必做痛苦取舍
- OpenAI 的 Predrag Gruevski 还将代表公司进入 Rust Foundation 董事会,而他本身也是 Rust 社区长期活跃成员、
cargo-semver-checks的维护者之一
从社区视角看,这条消息真正重要的不是“又一家大公司来了”,而是 Rust 维护工作正在得到更明确、更结构化的资金支持,而且支持方愿意把钱投向维护者与基础设施这些最难被看见、却最关键的环节。
文章链接:https://rustfoundation.org/media/rust-foundation-welcomes-openai-as-platinum-member-announces-donation-to-rust-project/ 补充说明:https://rustfoundation.org/media/on-openais-support-for-rust/
原文链接:https://rustfoundation.org/media/rust-foundation-welcomes-openai-as-platinum-member-announces-donation-to-rust-project/
你的 Rust 服务未必真的泄漏:问题可能出在分配器而不是业务代码
这篇文章讲的是一个非常实用、也非常容易误判的问题:服务在高并发突发流量后内存冲高不回落,未必是 Rust 代码泄漏,可能只是 allocator 把内存留在 RSS 里了。
作者的排查过程很有参考价值:
- 业务模型是事件驱动 + Tokio 并发任务 + Semaphore 限流,负载呈现 每小时 3–4 次突发、每次约 10 万事件 的形态
- 用
dhat看堆分配时,程序结束后几乎所有堆内存都被释放了,说明 逻辑层面并没有明显泄漏 - 真正的问题出在 glibc ptmalloc 的 arena / sub-heap / 缓存回收机制:即使对象已经释放,RSS 也可能因为堆顶 trimming、碎片与缓存块未合并而长时间维持高位
- 切到 jemalloc 后,借助 size-class slab 与后台 purging,内存在流量峰值后更容易回到基线;而作者测试 MiMalloc 时,在该类稀疏突发工作负载下并没有得到同样理想的效果
文章写得好的地方在于,它没有停留在“换 jemalloc 就行”,而是把 glibc、jemalloc、MiMalloc 在 Tokio work-stealing + sparse workload 下的行为差异 解释得相当清楚。对做 Rust 服务、容器部署和性能排查的人来说,这基本属于一篇很值得收藏的实战笔记。
文章链接:https://pranitha.dev/posts/rust-and-memory-allocators/
原文链接:https://pranitha.dev/posts/rust-and-memory-allocators/
ProcessKit:在 async Rust 里把“孤儿进程”问题做成内核级整树回收
ProcessKit 是一个面向 Tokio 的 Rust 子进程管理库,核心卖点非常明确:不仅能启动子进程,还要在程序 panic、超时、future 被丢弃时,把整棵进程树一起收干净,解决长期困扰自动化工具、测试框架和后台服务的 orphan-process 问题。
它的设计亮点主要在这里:
- 在 Windows 上用 Job Object,Linux 上优先用 cgroup v2,macOS / BSD 则落到 POSIX process group,保证 kill-on-drop 针对的是整棵树而不只是直接子进程
- 除了回收能力,还打包了 streaming I/O、shell-free pipelines、supervision、timeouts / retries / cancellation 等一整套流程控制能力
- 文档里明确把它和
std::process、tokio::process、duct、command-group等方案做了对比,突出它的差异点就是 whole-tree containment - 项目已经发布到 crates.io,MSRV 为 Rust 1.88,并且把错误语义、测试替身、record/replay 等工程能力也一起补齐了
这类项目不一定像新框架那样“显眼”,但对做 CI、编译封装器、集成测试、CLI 编排、开发环境守护进程的人来说,“掉了 future 但孙进程还活着” 这种坑非常真实。ProcessKit 把这件事往前推进了一大步。
项目主页:https://zelanton.github.io/processkit/ crates.io:https://crates.io/crates/processkit 文档:https://docs.rs/processkit 代码仓库:https://github.com/ZelAnton/ProcessKit-rs
原文链接:https://zelanton.github.io/processkit/
Fearless Concurrency on the GPU:把 Rust 所有权模型延伸到 GPU Kernel
这篇新论文提出了 cuTile Rust:一个面向 tile-based GPU kernel 的 Rust 系统,目标是把大家熟悉的 所有权与别名约束,真正带进 GPU 内核编写这件事里,而不是一写 CUDA 就重新回到“你自己保证安全”的世界。
论文里最值得关注的点有几个:
- 它把可变输出拆成互不重叠的片段,让 kernel launch 也能维持主机侧的所有权约束
- 开发者仍然可以在需要时 局部退出安全抽象,保留做底层优化的空间
- 系统不仅管 kernel 代码,还提供了从 同步启动、异步流水线到 CUDA Graph replay 的组合式 host 执行模型
- 性能上并没有为了安全抽象明显掉队:论文给出的数据里,B200 上 element-wise 可到 7 TB/s,GEMM 达到 2 PFlop/s,约为 cuBLAS 的 96%
更有意思的是,作者还给出了一个基于 cuTile Rust 的推理引擎 Grout,用它跑通了 Qwen3 的端到端推理路径。也就是说,这不是只停留在 toy example 的类型系统论文,而是 在高性能 GPU 场景里认真尝试“安全并发 + Rust + 实际推理工作负载” 的一套方案。
论文链接:https://arxiv.org/abs/2606.15991
原文链接:https://arxiv.org/abs/2606.15991
评论区
写评论内存不回收这个问题,在本论坛有过讨论,当时作者做了很多对比测试,结论也是一样的,就是分配器的设计原因