Skip to content

Build Independently confirmed2 publishers 2 min read Published

Meta's CRAM reads compressed Linux memory up to 452x faster than ZRAM by keeping it out of swap

Meta's Gregory Price showed Linux Plumbers a compressed-memory design, CRAM, that reads up to 452x faster than ZRAM by keeping pages out of swap. His slides still list a compressed host's usable capacity as an open problem for anyone sizing servers around it.

The Engineer · Build desk

Send a correction

What happened

  • CRAM presents compressed memory to the kernel as a private NUMA node instead of a block device, so Linux can still migrate and balloon it like ordinary RAM.
  • With writes making up 20% of operations, the worst case tested, CRAM's advantage over ZRAM fell to 5.4x.
  • A "Chicken Bit" makes Linux stop using CRAM while it is busy managing allocations, so writes that outpace allocation do not set off cascading failures.
  • Phoronix reports that most of the individual kernel pieces CRAM depends on are already in mainline.

Why it matters

  • What it limits constraint Until the kernel can count logical memory on a compressed node, operators sizing memory-tight hosts have to plan as if CRAM adds no guaranteed capacity.
  • Who has to decide decision Whether CRAM pays off on a given host depends on how often its compressed pages get written, so write share has to be profiled before choosing it over ZRAM.
  • Who has to decide decision If CRAM is merged, distributions that ship ZRAM or zswap on by default, down to machines like the Steam Deck, would have a non-swap option to weigh for that default.

Price's premise can be checked against his own numbers. As Tom's Hardware reads the slides, compression is a small part of the cost. Most of the penalty is the fault and the swap handling around it [10]. zswap and ZRAM are both swap-layer features [11]. Reaching a compressed page in either one goes through the path Price's team found expensive [10][11].

CRAM's read path avoids that path. The compressed data sits in RAM and is treated as RAM, with full cacheline and byte access, so a read costs little beyond hardware-offloaded compression [4]. Price's slide said CRAM "runs at DRAM speed" [5]. Phoronix reports read-only data matching raw DRAM performance [6].

Writes give the premise its best evidence. Compressed data cannot be written in place. A write has to page fault and migrate the folio back to its original NUMA node [3]. If compression were the main cost, the read-only and write-mixed results would sit close together. From the read-only peak to the worst write mix tested, CRAM's lead shrinks by a factor of about 84 [19].

For the headline figure to carry over to another host, the workload has to resemble the test. The 452x number comes from a read-only case [13]. The read path also depends on hardware-offloaded compression [4], and neither report says which hardware the tests ran on. Even the worst read case reported, 489 million operations per second against ZRAM's 1.1 million, works out to about 445x [14][20].

Sizing is the harder question. Compressibility ranges from piles of zeros, which compress perfectly, to data that is already compressed. That leaves no settled way to know how much logical memory a host holds or when it will run out, and the slides list the problem as unsolved and under research [7]. The Chicken Bit acts at the moment writes outrun allocation, a cascade the presentation calls a "poison storm" [15][18]. It is a fair name. Capacity planning needs a number before that moment arrives. I would not count CRAM's compression ratio as headroom on a memory-tight host until the kernel can report what a compressed node actually holds.

Tom's Hardware's account comes secondhand from the slides. "My explanation of CRAM might not be completely correct," Tom's Hardware contributor Zak wrote, adding that he "wasn't at the Linux Plumbers' Conference in Prague to hear the presentation directly" [17]. ZRAM and zswap run across the Linux ecosystem, down to the Steam Deck, and many distributions enable one of them by default [16]. CRAM is not in the kernel yet, and Tom's Hardware expects it to land only once the remaining implementation questions are answered [9].

What to watch

  • Whether Price's team proposes a way for the kernel to report usable capacity on a compressed node, the problem the slides list as open.
  • CRAM patch postings for the kernel, and which of the pieces they need are still outside mainline.
  • Independent benchmarks with write shares above 20%, or on hardware without compression offload.

Clarity's read

What the record supports and how the coverage leans. The claims behind it follow.

Reality

Evidence40
Adoption5
Hype gap+45
Incentives50
Confidence45
Why these scores

Claim ledger

Ranked by verification strength, evidence, and original report placement.

  1. [1]

    Gregory Price of Meta presented Compressed RAM (CRAM) for Linux at the Linux Plumbers Conference (LPC 2026) in Prague.

    Reported Supported Source: PhoronixView cited source
  2. [2]

    With writes enabled, CRAM was still 5.4x faster than ZRAM in the worst tested case of 20% writes.

    Reported Supported Source: Tom's Hardware, from Price's slidesView cited source
  3. [3]

    The performance drop with writes comes from the need to page fault and migrate folios back to the original NUMA domain, because compressed data cannot be written directly.

    Reported Supported Source: Tom's HardwareView cited source
  4. [4]

    Because CRAM is stored in RAM and treated as RAM, with full cacheline/byte access, it can be read with little delay, just the cost of hardware-offloaded compression.

    Reported Supported Source: Tom's HardwareView cited source
  5. [5]

    "runs at DRAM speed"

    Reported Supported Source: Gregory Price's presentation slide, as reported by Tom's HardwareView cited source
  6. [6]

    Read-only data is shown to be as fast as raw DRAM performance, and for writes CRAM is much faster than ZRAM, zswap or plain swap.

    Reported Supported Source: PhoronixView cited source
  7. [7]

    Compressibility varies from piles of zeroes (perfectly compressible) to already-compressed data, so knowing how much logical RAM a system has and when it will run out is presented in the slides as an unsolved problem and an area of ongoing research.

    Reported Supported Source: Tom's Hardware, from Price's slidesView cited source
  8. [8]

    Most of the individual pieces needed to support CRAM are already mainline.

    Reported Supported Source: PhoronixView cited source
  9. [9]

    CRAM has not yet been merged; Tom's Hardware hopes it finds its way into the kernel once the remaining implementation questions are answered.

    Reported Supported Source: Tom's HardwareView cited source
  10. [10]

    CRAM was conceptualized by Gregory Price and his team at Meta. The central realization behind it is that the largest portion of compressed memory's performance hit is not the compression, which is tiny, but the fault itself and the swap behavior.

    Reported Supported Source: Tom's Hardware, reading Price's LPC slidesView cited source
  11. [11]

    In Linux the most popular memory compression options are zswap and ZRAM, and both are swap-layer features.

    Reported Supported Source: Tom's HardwareView cited source
  12. [12]

    CRAM uses a private NUMA node instead of pretending to be a block device, which lets Linux keep using its memory semantics, including migration and ballooning, to manage CRAM.

    Reported Supported Source: Tom's HardwareView cited source
  13. [13]

    CRAM offers up to 452x the performance of ZRAM, in the read-only case.

    Reported Supported Source: Tom's Hardware, from Price's slidesView cited source
  14. [14]

    In the worst case on reads, CRAM did 489 million operations per second versus ZRAM's 1.1 million.

    Reported Supported Source: Tom's Hardware, from Price's slidesView cited source
  15. [15]

    A "Chicken Bit" tells Linux to stop trying to use CRAM while it is busy managing allocations, stopping cascading failures when writes outpace CRAM's ability to allocate them.

    Reported Supported Source: Tom's HardwareView cited source
  16. [16]

    ZRAM and zswap are used across the Linux ecosystem, even on machines as constrained as the Steam Deck, and many distributions enable one or the other by default.

    Reported Supported Source: Tom's HardwareView cited source
  17. [17]

    "My explanation of CRAM might not be completely correct; I wasn't at the Linux Plumbers' Conference in Prague to hear the presentation directly"

    Reported Supported Source: Zak, freelance contributor, Tom's HardwareView cited source
  18. [18]

    The presentation calls the cascading failure a "poison storm".

    Reported Supported Source: Tom's Hardware, from Price's slidesView cited source
  19. [19]

    From the 452x read-only peak to the 5.4x result at 20% writes, CRAM's lead over ZRAM shrinks by a factor of about 84.

    Derived Supported
  20. [20]

    The worst read case, 489 million operations per second against ZRAM's 1.1 million, is about 445x.

    Derived Supported

Sources

2 independent publishers whose own reporting we read for this story.

  1. phoronix.com

    1 article · October 6, 2026

    Meta Developing Compressed RAM "CRAM" For Linux: Better Than ZRAM & Zswap
  2. tomshardware.com

    1 article · October 7, 2026

    New Linux tech compresses memory in RAM, as RAM, for 452x speedup

Topics and entities

Topics

  • Linux kernel memory management
  • Linux memory compression

Entities