Если вы используете Linux, вы можете увеличить доступную оперативную память без необходимости покупать новые модули памяти. Zram, zswap и zcache позволяют сжимать содержимое оперативной памяти вашего ПК, практически расширяя ее. Но какой из них вам следует использовать? Какой из них лучше? Читайте дальше, чтобы узнать.
Читайте также: Что такое оперативная память в ПК? Ответы на все вопросы
Преимущества сжатия оперативной памяти
Если вы видели презентацию консолей следующего поколения от Sony и Microsoft, вы, возможно, заметили, что обе компании подняли большой шум по поводу скорости их накопителей. Для всего этого есть причина: хранилище является самым узким местом даже на новейших ПК высокого класса.
Преимущества сжатия оперативной памяти
ploads/2024/05/zram-zcache-zswap-hdd.jpg" alt="Zram Zcache Zswap Hdd">Конечная цель решений, которые мы видим здесь, — минимизировать объем данных, которыми обмениваются оперативная память нашего компьютера и его более медленные системы хранения. Об этом важно помнить, потому что, как мы увидим, это их отличительный фактор.
ЗРам
Zram — это самое простое решение для сжатия оперативной памяти в Linux на сегодняшний день. Ранее известный как compcache, он использует поддержку Linux для нескольких устройств подкачки, создавая дополнительное одно (или несколько) в оперативной памяти компьютера.
Zram работает путем создания иерархии трех пространств хранения. Он создает новый сжатый том подкачки в ОЗУ, который иерархически размещается между ОЗУ и устройствами хранения. Затем, когда ОЗУ заполняется данными, излишки перемещаются в сжатый своп. Когда он тоже заполнится, zram начнет перемещать данные в раздел подкачки накопителя.
Этому новому устройству подкачки присвоен более высокий приоритет, чем тем, которые находятся в более медленной фактической памяти ПК, и которые будут использоваться до них. Он также
ЗРам
дин из нескольких алгоритмов сжатия, например LZ4 или LZO, чтобы поместить как можно больше данных в это устройство подкачки.![Zram Zcache Zswap Lz4](https://saintist.ru/wp-content/uploads/2024/05/zram-zcache-zswap-lz4.jpg)
Современные процессоры достигли точки, когда они могут сжимать и распаковывать данные, хранящиеся в оперативной памяти, быстрее, чем их можно записывать или считывать с твердотельного или жесткого диска, причем влияние на производительность компьютера незначительно.
Стоит отметить, что zram работает сам по себе, без необходимости использования других устройств подкачки. Таким образом, вы можете, например, использовать его во встроенных системах или на живых компакт-дисках, поскольку для него не требуется фактическое хранилище.
ZЗамена
Zswap сложнее, чем zram. Он улучшает связь между оперативной памятью нашего компьютера и его более медленными устройствами хранения, добавляя интеллектуальное сжатие в местах их пересечения.
![Zram Zcache Zswap Zswap](https://saintist.ru/wp-content/uploads/2024/05/zram-zcache-zswap-zswap.jpg)
При использовании zswap сжатая оперативная память и тома подкачки, которые уже существуют на устройствах хранения данных компьютера, рассматриваются как узлы в интеллектуальной системе хранения. Zswap тоже занимает часть оперативной памяти компьютера, но не перемещает вслепую все, что не помещается в остальную часть оперативной памяти, а затем пытается ее сжать. Вместо этого он сначала сжимает все, что не помещается в оперативную память. Если данные сжаты, zswap сохраняет их в оперативной памяти. Если это не так, он сохраняет его в существующем разделе подкачки.
Таким образом, zswap лучше использует доступную оперативную память и пространство подкачки, поскольку он, например, не будет загружать используемую оперативную память несжимаемыми данными.
Поскольку zswap использует существующую подкачку, он лучше подходит для установки Linux на любом компьютере, особенно с объемом оперативной памяти менее 4 ГБ.
Zcache
Zcache работает в тандеме с системой tmem («Трансцендентная память»), предлагая ядру Linux более универсальный способ хранения данных, которые в настоящее время не используются.
Zcache добавляет в ядро дополнительный прозрачный уровень управления памятью, который сжимает любые данные, которые в данный момент не используются. В отличие от необходимости управлять каждым байтом данных, с помощью zcache ядро Linux может хранить целые страницы данных в «пулах» через интерфейс tmem. Затем серверная часть zcache сжимает эти группы данных.
Как и zswap, zcache хранит в оперативной памяти только сжатые данные и помещает несжатые страницы в фактический раздел подкачки, таким образом максимально эффективно используя оба параметра.
Какой из них лучше?
Теоретич
ZЗамена
длагает лучшее решение. Однако это не значит, что это правильный путь, поскольку практичность также имеет значение. Несмотря на свои расширенные возможности, zcache практически не поддерживается. Его развитие застопорилось, и в версии 3.11 он был удален из ядра Linux. Чтобы использовать его сегодня, вам придется прыгнуть через обручи, и результат, вероятно, будет не намного лучше, чем если бы вы использовали zswap.С другой стороны, zram более ограничен, поскольку это не что иное, как виртуальный том, хранящийся в оперативной памяти и используемый в качестве пространства подкачки. Это может помочь с системами, ограниченными оперативной памятью, но работает, по сути, вслепую беря вещи из точки А и перемещая их в точку Б, а затем в точку С, не заботясь о том, что они есть на самом деле.
Это делает zswap лучшим выбором для большинства пользователей Linux, независимо от их дистрибутива. Чтобы узнать, как этим можно воспользоваться, ознакомьтесь с наше руководство по zswap .