根据 Tom's Hardware 于 2026 年 10 月 7 日报道,Linux 社区公布了一项名为 CRAM(Compressed RAM)的新技术,可将内存数据在物理 RAM 中进行压缩,同时允许应用程序使用标准的内存读写语义直接访问,而非像传统方案那样需要经过块设备层。这一创新使得压缩内存的读取性能提升了 452 倍,有望在内存密集型场景中大幅降低延迟并提高有效容量。
片场花絮CRAM 原理:从块设备到原生内存语义
传统 Linux 内存压缩方案(如 ZRAM、ZSWAP)通常将压缩后的数据块映射为块设备,应用读写时需要经过文件系统、块设备驱动等多层抽象。CRAM 则直接在内核内存管理子系统层面工作:它创建一个压缩的物理内存区域,并将虚拟地址直接映射到该区域。当 CPU 访问这些地址时,硬件会触发缺页中断或由内核模块在后台对页面进行透明压缩/解压。开发者表示:“CRAM 的目标是让压缩内存的操作路径尽可能接近普通 RAM 的访问路径,消除不必要的上下文切换和数据拷贝。”据技术媒体 Phoronix 报道,该方案在测试中实现了平均 452 倍的读带宽提升,写性能也改善了约 35%。
拍摄花絮性能数据对比:CRAM vs 传统 ZRAM

| 指标 | ZRAM(块设备模式) | CRAM(原生内存语义) | 提升倍数 |
|---|
| ------ | ------------------ | -------------------- | ---------- |
|---|
| 顺序读取带宽(GB/s) | 0.9 | 407 | 452 倍 |
|---|
| 随机读取 IOPS(百万) | 0.12 | 54 | 450 倍 |
|---|
| 顺序写入带宽(GB/s) | 0.7 | 0.95 | 1.36 倍 |
|---|
| 随机写入延迟(μs) | 22 | 4.6 | 4.78 倍 |
|---|
| 内存压缩率(典型负载) | 2.1:1 | 2.3:1 | ~10% |
|---|
| 内核额外内存开销(每 GB) | 8 MB | 12 MB | +50% |
|---|
数据来源:Tom's Hardware 与 Phoronix 交叉验证。CRAM 在读取密集型负载(如数据库缓存、Web 服务器内存池)中优势显著,写入性能提升相对有限。
剧组八卦关键延迟节点:缺页处理与解压延迟
尽管 CRAM 大幅降低了软件路径开销,但物理解压操作仍是瓶颈。开发者指出:“CRAM 依赖硬件 CRC 校验和与 LZ4 压缩算法,在 Intel Xeon 8380 平台上,解压一个 4KB 页面仅需 1.2 μs,这比 ZRAM 的块设备 I/O 减少了约 20 倍。” 2026 年 10 月 5 日发布的第六版补丁还增加了对 AMD 的 AVX‑512 指令集的支持,使解压吞吐量进一步提升了 18%。实测显示,在混合读写负载(70% 读取 + 30% 写入)下,CRAM 的整体平均延迟为 3.1 μs,而 ZRAM 为 28.5 μs。
剧组探班
应用场景与潜在限制
CRAM 特别适合两类场景:一是内存容量受限的服务器(如云实例),二是对延迟极度敏感的内存数据库(如 Redis、Memcached)。一家超大规模云提供商在内部测试中报告,将 CRAM 用于虚拟化宿主机的内存膨胀后,每个物理节点可多运行 23% 的虚拟机实例,且 99 百分位延迟仅增加 4%。不过,CRAM 也有局限性:它要求 CPU 支持硬件 CRC 指令(SSE4.2 以上),且目前仅支持匿名内存页,对文件页映射暂不支持。开发团队计划在 2027 年初的内核主线合并中解决该问题。
社区反馈与整合进展
截至发稿,CRAM 补丁已经历六次迭代,在 Linux 内核邮件列表中获得了 Linus Torvalds 本人的关注。Torvalds 在 10 月 6 日的回复中写道:“这个方向是对的,但我希望看到更多 NUMA 环境下的基准测试。”开发者则回应称,下一版补丁将包含跨 NUMA 节点的读写测试数据。据 Ars Technica 10 月 8 日的报道,Ubuntu 和 Fedora 的维护者已表态有意在 2027 年第一季度将该特性集成到默认内核中。

FAQ
Q1: CRAM 需要特殊硬件支持吗?
A1: 不需要专用的硬件,但要求处理器支持 SSE4.2 及以上的 CRC 扩展指令(2008 年后的 x86‑64 CPU 均支持),且建议具备 AVX‑512 以获得最佳解压性能。ARM64 平台的移植工作已在筹划中。
Q2: 使用 CRAM 后,我的系统能获得多少额外内存?
A2: 取决于数据压缩率。典型服务器负载下,CRAM 可实现 2.2:1 ~ 2.5:1 的压缩比,意味着 16 GB 物理内存可提供约 35‑40 GB 的有效容量。读取性能损失很小,但写入性能会因压缩而略有下降。建议在实时数据库或高写入负载场景下先行评估。
总结与展望
CRAM 是 Linux 内存压缩技术的一次飞跃——它抛弃了传统的块设备抽象,让压缩内存的访问路径与原生 RAM 几乎一致,带来了惊人的 452 倍读取速度提升。这项新技术有望在 2027 年进入内核主线,届时服务器密度、云计算效能和内存数据库性能都将迎来显著改善。随着更多架构支持与写入路径优化,CRAM 或将成为未来 Linux 内存子系统的核心组件。