Meta CRAM: Linux's secret technique that reaches 99% of DRAM
CRAM allows Linux to use hardware-compressed memory with performance of up to 99% compared to conventional DRAM. The information comes from a presentation by Gregory Price, a Meta engineer, during the Linux Plumbers Conference 2026 held in Prague. For readers working with servers, the key is not simply adding more physical RAM, but expanding the logical capacity the system can manage without incurring the usual cost of software decompression.
What changes with CRAM in Linux
How does it manage to seem like there is more memory?
CRAM, an acronym for Compressed RAM Service, is a Linux kernel subsystem, the core part of the operating system that manages the computer’s resources. Its function is to integrate memory modules with hardware compression and allow the processor to access the compressed data directly.
The difference may seem small on paper, but it changes a basic rule of memory management. In Linux, each memory page, a unit the system uses to organize data, is associated with the real physical capacity of the RAM. CRAM breaks that correspondence: the hardware reports a logical capacity greater than what physically exists.
Thus, a server can operate as if it had more memory available. The key phrase is “as if.” The additional capacity does not physically appear; it depends on the data’s ability to reduce size through compression. If the content compresses to a small size, the system gains margin. If it occupies nearly the same space, that margin disappears.
Why does it matter for artificial intelligence servers?
RAM is one of the biggest costs in data centers, both due to hardware price and associated energy consumption. In infrastructures handling AI workloads, where memory capacity can become an operational limit, any logical increase without a high penalty is especially attractive.
Meta states that their internal tests placed CRAM between 98% and 99% of the performance of uncompressed DRAM memory. This data does not mean the server physically has twice the RAM in all scenarios. It means that access to compressed data can closely approximate traditional memory behavior, as long as the compression maintains a favorable rate.
Here lies the nuance to keep. The proposal can virtually double memory, according to the source, but it does not eliminate the physical limitations of the hardware. For a system administrator, that difference separates a useful enhancement from a misinterpreted promise.
The difference compared to zram and zswap
What problems does CRAM try to avoid?
CRAM tries to avoid the processor having to stop execution to retrieve and decompress a stored page. In this context, a page is a memory block containing process data; when it is not available as expected, a page fault occurs, an interruption that forces the system to fetch and prepare it.
Linux already has zram and zswap, two memory compression mechanisms. However, the source explains they operate differently and can introduce limitations in final performance. When a process requests compressed data, the CPU may receive a page fault, pause the executing thread, decompress the page via software, and then copy it to a traditional DRAM area.
This route adds work precisely at the moment the process needs the data. It is not a purely technical difference: if requests are many, each pause can affect system responsiveness. CRAM changes the point where decompression occurs because hardware modules perform it and allow direct data querying.
What makes CRAM's access different?
With CRAM, the processor can read data mapped in page tables, structures relating the addresses used by programs to memory locations, without generating those faults and without executing software decompression routines. Access can be at the cache line or byte level, according to the cited presentation.
The difference, plainly put, is who carries the workload. In zram and zswap, the CPU participates in recovering and decompressing data. In CRAM, the compressed memory module offers direct hardware access, so the operating system can handle information via a path more similar to conventional RAM.
| Mechanism | How it manages data | Described limitation |
|---|---|---|
| zram | Uses in-system memory compression. | Can cause page faults and software decompression. |
| zswap | Acts as another kernel memory compression mechanism. | Can add pauses and CPU work when retrieving data. |
| CRAM | Accesses compressed data through hardware modules. | Physical capacity can be exhausted if compression worsens. |
Performance, limits, and availability
What results has Meta obtained?
Meta tested CRAM on its own infrastructure and reported performance between 98% and 99% of that with conventional uncompressed DRAM. To understand the magnitude of the result, the indicated loss compared to traditional memory is small in these tests: roughly between one and two percentage points.
Gregory Price, Meta engineer and the proposal’s creator, clarified during the presentation that he had not invented a completely new technology. His work consists of integrating functionalities already present in the Linux kernel to address the depletion of physical memory space.
The solution brings together several components: write protection in page tables, management of cached pages that have not been modified, dynamic scaling to adjust the ratio based on actual compression, and controlled policies to allocate compressed memory. Each element aims to ensure that the logical capacity announced by hardware does not stray too far from what physical memory can sustain.
What limit must an administrator watch?
The problem appears when the write rate is high or when data stops compressing well. In that scenario, available physical memory can disappear even though the kernel continues reporting gigabytes left to allocate. The system is not creating space out of nowhere: it is calculating logical capacity based on compression that can vary.
Therefore, CRAM should not be interpreted as a universal replacement for DRAM. Its advantage depends on the type of information, usage pattern, and hardware’s ability to maintain compressed access. The source itself acknowledges there are still barriers in memory allocation when compression declines, especially in environments with many writes.
- Check the scope first: the source presents CRAM as a subsystem for the Linux kernel but does not indicate an activation path for users or general availability.
- Separate logical and physical capacity: system-reported more memory does not mean the server physically has more modules installed.
- Review the workload pattern: environments with high write rates are precisely those identified as more problematic when compression decreases.
- Compare performance: Meta’s communicated data comes from benchmarks run on their own infrastructure, placing it between 98% and 99% of uncompressed DRAM.
- Favorable signal: data maintains sufficient compression and performance approaches conventional DRAM.
- Risk signal: physical memory runs out of space while the kernel still indicates logical capacity available.
- Information limitation: source material does not provide specific kernel versions, installation instructions, compatible module manufacturers, or a general-use release date.
Until those details exist, CRAM should be understood as a technical proposal presented by Meta, not as a feature any user can activate from a Linux menu. The source does allow identification of its objective, its difference from zram and zswap, its internal results, and the main limit related to compression.
For data center managers, the practical takeaway is clear: CRAM can reduce pressure on physical memory and bring logical capacity closer to AI workload needs, but it requires measuring how real data behaves. It is advisable to keep systems updated when a compatible version exists, review memory usage, keep backups, and monitor allocation warnings. If blocks, persistent errors, or unexplained memory shortages appear, review should be left to a specialized administrator.
CRAM does not add physical RAM but can make Linux work with a higher logical capacity thanks to hardware compression. Meta’s tests achieve between 98% and 99% of conventional DRAM’s performance, although the advantage depends on data continuing to compress well. For AI servers, the idea is promising; for any real deployment, behavior under heavy writes will be the decisive test.
Frequently Asked Questions
- What is CRAM for Linux?
- CRAM stands for Compressed RAM Service and is a Linux kernel subsystem that allows access to compressed data via hardware modules. Its goal is to provide logical memory capacity beyond the physical installed.
- Does CRAM physically double RAM?
- No. CRAM can virtually double memory when data compresses well, but physical capacity does not change. If compression worsens, real space can be exhausted even if Linux shows memory available.
- Is CRAM better than zram and zswap?
- The proposal avoids some of the work zram and zswap leave to the CPU, such as page faults and software decompression. Meta reported performance of 98% to 99% compared to conventional DRAM in their tests.
- Can I activate CRAM on my computer?
- The source does not include installation instructions, compatible versions, or a user activation path. For now, it presents CRAM as a proposal for the kernel and server infrastructures.