< 返回版块

Mike Tang 发表于 2026-06-18 10:36

OpenAI 加入 Rust Foundation 白金会员:总计 60 万美元投入 Rust 维护与生态建设

Rust Foundation 宣布 OpenAI 成为新的 Platinum Member,并将通过基金会总计投入 60 万美元,用于支持 Rust 项目维护者、技术优先事项以及更广泛的生态建设。这不是普通的企业站台新闻,而是一次直接落到资金层面的长期支持承诺。

这笔投入覆盖的方向也很清楚:

  • 资金会通过 Rust Foundation 与 Rust Project 既有机制分发,包括 Project GoalsRust 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::processtokio::processductcommand-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

评论区

写评论
asuper 2026-06-18 11:30

内存不回收这个问题,在本论坛有过讨论,当时作者做了很多对比测试,结论也是一样的,就是分配器的设计原因

1 共 1 条评论, 1 页