Инженеры Meta представили на Linux Plumbers Conference 2026 прототип CRAM — способ использовать сжатую память без обычного для Linux механизма подкачки. В отличие от ZRAM, который предоставляет сжатые данные как блочное устройство, CRAM позволяет ядру обращаться к ним как к памяти. По данным конференции, в тестах с чтением производительность прототипа приближалась к обычной оперативной памяти.

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

Как сообщает IT Home со ссылкой на материалы конференции, в представленном сравнении при нагрузке только на чтение CRAM выполнял около 489 млн операций в секунду против примерно 1,1 млн у ZRAM. При записи преимущество сокращается: перед изменением данные приходится переносить из сжатой памяти в обычную. В приведённом тесте с записью результат CRAM в худшем случае был примерно в 5,4 раза выше результата ZRAM.
CRAM остаётся испытанным прототипом для ядра Linux, а не функцией, уже включённой в его основную ветку. По словам инженера Meta Грегори Прайса, одна из нерешённых задач — согласовать с моделью памяти Linux устройство, у которого доступная после сжатия ёмкость отличается от физической.
Источник: IT Home.