Meta CRAM: тайная техника Linux, достигающая 99% DRAM

Meta представляет CRAM для Linux, аппаратно сжатую память, которая обеспечивает до 99% производительности обычной DRAM.
 Meta CRAM lleva la memoria comprimida de Linux al 99% del rendimiento de la DRAM - Imagen generada por IA
Meta CRAM достигает 99% производительности DRAM при сжатой памяти Linux — Изображение, созданное ИИ

CRAM позволяет Linux использовать сжатую память аппаратным способом с производительностью до 99% по сравнению с обычной DRAM. Информация поступила из презентации Грегори Прайса, инженера Meta, на конференции Linux Plumbers Conference 2026 в Праге. Для читателя, работающего с серверами, ключ не в простом добавлении физической RAM, а в расширении логической ёмкости, которой система может управлять без обычных затрат на программное разжатие.

Что меняется с CRAM в Linux

Как достигается эффект большего объёма памяти?

CRAM, аббревиатура от Compressed RAM Service (служба сжатой RAM), — это подсистема ядра Linux, центральной части операционной системы, управляющей ресурсами компьютера. Её задача — интегрировать модули памяти с аппаратным сжатием и позволять процессору напрямую обращаться к сжатым данным.

На бумаге разница кажется небольшой, однако она меняет базовое правило управления памятью. В Linux каждая страница памяти, единица, которой система организует данные, связана с реальной физической ёмкостью RAM. CRAM разрывает эту связь: аппаратное обеспечение сообщает логический объём, превышающий физический.

Таким образом, сервер может работать так, будто у него больше доступной памяти. Ключевая фраза — «как будто». Дополнительная ёмкость не появляется физически; она зависит от того, насколько данные поддаются сжатию. Если содержимое сильно уменьшается при сжатии, система получает запас. Если же занимает почти столько же, запас исчезает.

Почему это важно для серверов искусственного интеллекта?

Оперативная память — одна из больших статей затрат в центрах обработки данных, как из-за цены оборудования, так и из-за связанного с ним энергопотребления. В инфраструктурах, где обрабатываются нагрузки искусственного интеллекта, и где ёмкость памяти может стать ограничением, любое логическое увеличение без существенного ущерба особенно привлекательно.

Meta утверждает, что их внутренние испытания показали производительность CRAM на уровне от 98% до 99% относительно несжатой DRAM. Это не значит, что сервер физически имеет в два раза больше RAM во всех сценариях. Это означает, что доступ к сжатым данным может приближаться к поведению традиционной памяти при благоприятном коэффициенте сжатия.

Здесь важен нюанс, который стоит сохранить. Предложение может виртуально удвоить память, по словам источника, но не устраняет физические ограничения оборудования. Для системного администратора эта разница отделяет полезное улучшение от неправильно понятого обещания.

Различия по сравнению с zram и zswap

Какие проблемы пытается избежать CRAM?

CRAM пытается избежать ситуации, когда процессор вынужден приостанавливать выполнение для извлечения и разжатия страницы памяти. В этом контексте страница — блок памяти, содержащий данные процесса; если она недоступна в ожидаемом виде, происходит сбой страницы, то есть прерывание, заставляющее систему её искать и готовить.

В Linux уже есть zram и zswap — два механизма сжатия памяти. Однако источник объясняет, что они работают иначе и могут снижать конечную производительность. Когда процесс запрашивает сжатые данные, CPU может получить сбой страницы, приостановить выполнявшийся поток, сжать страницу с помощью программного обеспечения, а затем скопировать её в обычную область DRAM.

Этот процесс добавляет работу именно в момент, когда процессу нужны данные. Это не просто техническая разница: при множественных запросах каждая пауза может влиять на отклик системы. CRAM изменяет точку, где происходит разжатие, поскольку оно выполняется аппаратным модулем и позволяет обращаться к данным напрямую.

Что отличает доступ CRAM?

С CRAM процессор может читать данные, отображённые в таблицах страниц — структурах, связывающих адреса, используемые программами, с позициями памяти — без возникновения сбоев и без запуска программных процедур разжатия. Доступ может осуществляться на уровне кэш-линии или байта, согласно приведённой презентации.

Разница, проще говоря, в том, кто выполняет работу. В zram и zswap CPU участвует в извлечении и разжатии данных. В CRAM модуль сжатой памяти предлагает прямой доступ аппаратного обеспечения, благодаря чему операционная система может обрабатывать информацию более похожим на традиционную RAM способом.

Механизм Как управляет данными Описанное ограничение
zram Использует сжатие памяти внутри системы. Может вызывать сбои страниц и разжатие программным обеспечением.
zswap Работает как ещё один механизм сжатия памяти ядра. Может добавлять паузы и нагрузку на CPU при извлечении данных.
CRAM Обращается к сжатым данным через аппаратные модули. Физическая ёмкость может исчерпаться при ухудшении сжатия.

Производительность, ограничения и доступность

Какие результаты получила Meta?

Meta протестировала CRAM в своей инфраструктуре и сообщила о производительности от 98% до 99% по сравнению с обычной несжатой DRAM. Чтобы понять масштаб результата, указанные потери относительно традиционной памяти невелики: порядка одного-двух процентных пунктов.

Грегори Прайс, инженер Meta и автор предложения, уточнил на презентации, что не изобрёл полностью новую технологию. Его работа заключается в интеграции уже имеющихся в ядре Linux функций для борьбы с исчерпанием физического пространства памяти.

Решение объединяет несколько компонентов: защиту от записи в таблицах страниц, управление кэшированными страницами без изменений, динамическое масштабирование для подстройки пропорции в зависимости от фактического сжатия и контролируемые политики выделения сжатой памяти. Каждый элемент стремится обеспечить, чтобы логический объём, объявляемый аппаратурой, не расстоялся от возможностей физической памяти.

Какое ограничение следует контролировать системному администратору?

Проблема возникает при высокой интенсивности записи или если данные перестают хорошо сжиматься. В этом случае доступная физическая память может исчерпаться, хотя ядро продолжает показывать гигабайты в свободном логическом объёме. Система не создаёт пространство из ничего: она рассчитывает логическую ёмкость на основе сжатия, которое может меняться.

Поэтому CRAM не следует считать универсальной заменой DRAM. Его преимущество зависит от типа данных, паттерна использования и способности аппаратуры поддерживать сжатый доступ. Источник признаёт, что ещё существуют проблемы при выделении памяти в условиях снижения сжатия, особенно при интенсивной записи.

  • Сначала проверьте масштаб: источник представляет CRAM как подсистему ядра Linux, но не указывает путь активации для пользователей и не подтверждает общую доступность.
  • Разделяйте логическую и физическую ёмкости: сообщение системы о большем объёме памяти не означает физическое увеличение установленных модулей.
  • Изучите рабочий паттерн: среды с высокой интенсивностью записи именно те, которые источник выделяет как проблемные при ухудшении сжатия.
  • Сравните производительность: данные Meta основаны на бенчмарках в собственной инфраструктуре и составляют 98–99% производительности несжатой DRAM.
  • Положительный сигнал: данные сохраняют достаточное сжатие, и производительность приближается к традиционной DRAM.
  • Предупреждение: физическая память заканчивается, тогда как ядро продолжает показывать логическую ёмкость.
  • Ограничения информации: исходный материал не содержит конкретных версий ядра, инструкций по установке, производителей совместимых модулей и сроков появления в массовом оборудовании.

Пока таких деталей нет, CRAM следует рассматривать как техническое предложение от Meta, а не как функцию, доступную любому пользователю через меню Linux. Источник позволяет понять цель, отличия от zram и zswap, внутренние результаты и главное ограничение, связанное со сжатием.

Для администраторов центров данных практический вывод ясен: CRAM может снизить нагрузку на физическую память и приблизить логическую ёмкость к требованиям искусственного интеллекта, но требует оценки поведения реальных данных. Рекомендуется поддерживать систему в актуальном состоянии при наличии совместимых версий, контролировать использование памяти, сохранять резервные копии и следить за сообщениями об выделении. При появлении блокировок, постоянных ошибок или нехватки памяти без очевидной причины проверкой должен заниматься опытный администратор.

CRAM не добавляет физическую RAM, но позволяет Linux работать с большей логической ёмкостью благодаря аппаратному сжатию. Тесты Meta показывают от 98% до 99% производительности несжатой DRAM, хотя преимущество зависит от качества сжатия данных. Для серверов искусственного интеллекта идея многообещающая; для реального развёртывания решающим будет поведение при интенсивной записи.

Часто задаваемые вопросы

Что такое CRAM для Linux?
CRAM означает Compressed RAM Service и представляет собой подсистему ядра Linux, позволяющую получать доступ к сжатым данным через аппаратные модули. Её цель — обеспечить логическую ёмкость памяти, превышающую установленную физическую.
Удваивает ли CRAM физическую оперативную память?
Нет. CRAM может виртуально удвоить память, если данные хорошо сжимаются, но физическая ёмкость не меняется. При ухудшении сжатия реальное пространство может исчерпаться, даже если Linux показывает доступную память.
Лучше ли CRAM, чем zram и zswap?
Предложение снижает часть работы, которую zram и zswap возлагают на CPU, например, сбои страниц и программное разжатие. Meta сообщила о производительности 98–99% по сравнению с обычной DRAM в своих тестах.
Могу ли я включить CRAM на своём компьютере?
Источник не содержит инструкций по установке, совместимых версий или пути активации для пользователей. Пока CRAM представлен как предложение для ядра и серверной инфраструктуры.