Meta Reveals CRAM Linux Memory Compression Scheme
Introduction to CRAM
Meta engineers presented an experimental memory compression scheme named CRAM at the Linux Plumbers Conference 2026. This major event took place in Prague on October 5. CRAM stands for Compressed RAM. Interestingly, this new framework does not merely replace ZRAM or zswap. Instead, it allows compressed data to exist seamlessly as native memory. Consequently, this method completely avoids the heavy software overhead found in traditional swap paths. According to official conference materials, developers have already tested CRAM thoroughly. In fact, it reaches performance levels incredibly close to native DRAM during TAOBench and FIO benchmarks.
Overcoming Traditional Limitations
Currently, common Linux memory compression solutions include ZRAM and zswap. Typically, ZRAM creates a compressed block device in memory. The kernel must then process this data through standard swap paths. However, the CRAM architecture operates quite differently. Compressed data retains its page table mapping and page cache state intact. Furthermore, it supports cacheline and byte-level access directly. Therefore, reading data never triggers a software decompression routine via page fault exceptions. Conference officials highlight this exact capability as the primary distinction between CRAM and older methods. For developers seeking deeper technical insights, observers can explore how Linux CRAM Compressed RAM fundamentally shifts system memory handling.
Utilizing NUMA Nodes
The core concept of CRAM revolves around advanced hardware compression. It provides compressed memory to Linux as a specialized NUMA node rather than a simulated block device. Official documentation shows that CRAM utilizes a strictly controlled, private NUMA node. Consequently, the kernel continues utilizing existing memory management mechanisms flawlessly. These mechanisms include memory migration, reclamation, demotion, and ballooning. Additionally, the system supports idle page reporting and standard NUMA balancing seamlessly. This elegant design specifically targets the software path overhead inherent in legacy compression techniques.
Performance Benchmarks
For read-only data, CRAM fetches information directly from the compressed memory space. It completely bypasses the need to swap data into standard memory for decompression. Under this specific mode, performance truly approaches native DRAM speeds. According to the test data revealed during the presentation, pure reading scenarios demonstrate massive gains. In the absolute worst-case scenario, CRAM achieves approximately 489 million operations per second. Meanwhile, ZRAM manages only about 1.1 million operations per second. Based on these numbers, the actual difference is about 444 times greater. Thus, the official claim of a 452-fold improvement likely requires an ideal testing environment.
Handling Write Operations
Naturally, CRAM loses some advantage when workloads involve frequent write operations. Compressed data cannot undergo direct modification in its original location. Therefore, writing requires a page fault process to migrate the corresponding folio back to a native NUMA node. After this migration, the system finally completes the modification. Even so, CRAM still delivers roughly 5.4 times the performance of ZRAM in worst-case scenarios. Still, users should interpret this figure as a specific benchmark result rather than a universal performance guarantee.
Current Development Status
Official materials confirm that CRAM remains a tested kernel service prototype right now. It is certainly not a mature feature ready for the Linux mainline yet. Meta engineer Gregory Price explained the current development status clearly. Most of the fundamental Linux kernel mechanisms required to implement CRAM already exist today. Currently, developers must figure out how to make this unique memory device fit the existing Linux memory model. Specifically, they must resolve the mismatch between actual and physical memory capacities.
Future Prospects
Importantly, CRAM stays deep in the research and community discussion phase today. Nobody should consider it an official feature bound for the immediate Linux mainline. Meta focuses purely on exploring how existing Linux memory management can support this novel compressed memory. They are certainly not announcing a fully standardized or commercially deployed product yet.











