зрам
Первоначальный выпуск | 30 марта 2014 г | (Linux 3.14)
---|---|
Написано в | С |
Операционная система | Линукс |
Тип | Возможности ядра Linux |
Лицензия | Стандартная общественная лицензия GNU |
Веб-сайт | www |
zram , ранее называвшийся compcache , — это модуль ядра Linux для создания сжатого блочного устройства в оперативной памяти, то есть RAM-диска со сжатием диска «на лету». Блочное устройство, созданное с помощью zram, затем можно использовать для подкачки или в качестве RAM-диска общего назначения. Два наиболее распространенных варианта использования zram — хранение временных файлов ( /tmp
) и в качестве устройства подкачки. Изначально у zram была только последняя функция, отсюда и оригинальное название «compcache» («сжатый кеш»). В отличие от подкачки, zram использует только 0,1% от максимального размера диска, когда он не используется. [1]
После четырех лет работы в области подготовки драйверов ядра Linux zram был введен в основное ядро Linux в версии 3.14, выпущенной 30 марта 2014 года. [2] Начиная с версии ядра Linux 3.15 (выпущенной 8 июня 2014 г.), zram поддерживает несколько потоков сжатия и несколько алгоритмов сжатия . Алгоритмы сжатия включают DEFLATE ( DEFLATE
), LZ4 ( LZ4
, и LZ4HC
«высокая степень сжатия»), ЛЗО ( LZO-RLE
«кодирование длин серий»), [3] Зстандарт ( ZSTD
), 842 ( 842
). Начиная с ядра 5.1, значением по умолчанию является LZO-RLE
, [3] который имеет баланс скорости и степени сжатия. Как и большинство других системных параметров, алгоритм сжатия можно выбрать через sysfs . [4]
При использовании в качестве сжатого пространства подкачки zram похож на zswap , который не является универсальным RAM-диском, а представляет собой сжатый кэш внутри ядра для страниц подкачки. До момента введения CONFIG_ZRAM_WRITEBACK
в версии ядра 4.14, в отличие от zswap, zram не мог использовать запоминающее устройство в качестве резервного хранилища, поэтому он не мог перемещать менее часто используемые страницы на диск. Однако для zswap всегда требуется резервное хранилище, чего нет в случае с zram.
При использовании для подкачки zram (как и zswap) позволяет Linux более эффективно использовать оперативную память, поскольку операционная система может хранить больше страниц памяти в сжатом подкачке, чем если бы тот же объем ОЗУ использовался в качестве памяти приложения или диска. кэш. Это особенно эффективно на машинах с небольшим объемом памяти. [5] [6] В 2012 году Ubuntu кратко рассмотрела возможность включения zram по умолчанию на компьютерах с небольшим объемом установленной оперативной памяти. [7] По этой же причине Fedora включает zram по умолчанию, начиная с версии 33. [8]
Использование сжатого пространства подкачки с помощью zram или zswap также дает преимущества для аппаратных устройств начального уровня, таких как встроенные устройства и нетбуки . Такие устройства обычно используют флэш-память , срок службы которой ограничен из-за усиления записи , а также могут использовать ее для предоставления пространства подкачки . Использование zram или zswap сокращает использование подкачки, что эффективно снижает степень износа флэш-памяти и продлевает ее срок службы. Использование zram также приводит к значительному сокращению операций ввода-вывода для систем Linux, требующих замены. [9] [10]
См. также
[ редактировать ]Ссылки
[ редактировать ]- ^ «zram: блочные устройства на базе сжатой оперативной памяти — документация по ядру Linux» . docs.kernel.org . Проверено 25 февраля 2024 г.
- ^ «Ядро Linux 3.14, раздел 1.2. zram: механизм сжатия памяти считается стабильным» . kernelnewbies.org . 30 марта 2014 года . Проверено 1 апреля 2014 г.
- ^ Jump up to: а б «ZRAM увидит большую производительность в Linux 5.1 — она изменила компрессор по умолчанию — Phoronix» . www.phoronix.com .
- ^ «Ядро Linux 3.15, раздел 1.7. zram: поддержка сжатия LZ4, улучшенная производительность» . kernelnewbies.org . 8 июня 2014 года . Проверено 15 июня 2014 г.
- ^ «Повышение производительности в Linux с помощью zram (виртуальный своп, сжатый в оперативной памяти)» . webupd8.org . 2 октября 2011 года . Проверено 8 ноября 2011 г.
- ^ «Сжатое кэширование compcache для Linux» . code.google.com . 27 апреля 2010 года . Проверено 11 ноября 2011 г.
- ^ Динсан, Фрэнсис (8 декабря 2012 г.). «Ubuntu Linux рассматривает возможность более широкого использования zRAM» . Проверено 30 октября 2013 г.
- ^ «Fedora 33 хочет использовать своп в zRAM по умолчанию с zram-генератором systemd — Phoronix» . www.phoronix.com . Проверено 29 марта 2021 г.
- ^ «ZRAM, возможно, наконец-то будет удалена из промежуточной версии Linux» . Фороникс . 14 августа 2013 года . Проверено 9 февраля 2014 г.
- ^ «zRAM все еще надеется на повышение» . Фороникс . 25 ноября 2013 года . Проверено 9 февраля 2014 г.
Внешние ссылки
[ редактировать ]- Документация по ядру zram Linux и zramctl(8) страница руководства по
- Compcache, сжатое кэширование для Linux
- Compcache: сжатая подкачка в памяти , 26 мая 2009 г., LWN.net, Нитин Гупта
- Сжатие памяти внутри ядра , 3 апреля 2013 г., LWN.net, Дэн Магенхаймер
- Кэш сжатия: сжатие виртуальной памяти для карманных компьютеров , 16 марта 2000 г., Майкл Дж. Фридман