Linux: «Бесплатная» RAM за счет процессора

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Зачем?

Если вы вдруг оказались с компьютером, в котором RAM распаяна, или все слоты уже использованы, или просто нет возможности добавить еще одну планку памяти, то существует простое решение, имя ему zram.

Я не буду подробно описывать все прелести zram, в интернете достаточно много информации о том, что это такое и как можно использовать. Здесь же я хочу предоставить короткую инструкцию, как быстро и просто "добавить" себе оперативной памяти в популярной ОС.

Что это?

Многие знают о существовании swap (файл подкачки), который начинает использоваться, когда оперативной памяти начинает не хватать. Я, как и многие, стараюсь избавляться от такой штуки, потому как swap использует для хранения данных наши ssd/hdd, что в свою очередь имеет минусы:

  • медленная скорость записи/чтения

  • убивает ресурс диска

Но если выключить swap, то мы рискуем повиснуть в тот момент, когда физическая память закончится, ведь магическим образом она ниоткуда не появится... Или появится?!

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

Делаем

Вся процедура заключается в том, что мы отключим swap и zswap, а затем установим и настроим zram. В моем случае системой является Ubuntu 22.04.

  1. Отключаем swap

sudo swapoff /swapfile
  1. Отключаем создание swap. Для этого закомментируем строку в /etc/fstab

sudo nano /etc/fstab

#/swapfile    none    swap    sw    0    0
Отлючаем swapfile
Отлючаем swapfile
  1. Удаляем более не нужный файл где у нас хранился swap

sudo rm -f /swapfile
  1. Нужно отключить zswap если он у нас включен. Для этого изменяем строку в /etc/default/grub

sudo nano /etc/default/grub

GRUB_CMDLINE_LINUX=""

на

GRUB_CMDLINE_LINUX="zswap.enabled=0"
  1. Устанавливаем zram

sudo apt install zram-tools
  1. zram уже работает, но там всего ~200мб, и нам нужно его настроить:

sudo nano /etc/default/zramswap
Конфигурация zram
Конфигурация zram

В своей версии конфига я установил иной алгоритм сжатия (zstd), если процессор будет плохо справляться - можно попробовать менее требовательный lz4.

Объем для zram можно указать относительно физического объема памяти PERCENT, либо абсолютный SIZE. В моем случае это 99% от физического объма.

  1. После изменения конфигурации просто перезапускаем zram

sudo systemctl restart zramswap.service

Удостовериться в том, что всё работает как мы хотели, поможет комманда

zramctl
Как видно компрессия очень неплохая ~ x4
Как видно компрессия очень неплохая ~ x4

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

Источник: https://habr.com/ru/post/693878/


Интересные статьи

Интересные статьи

Пару дней назад на Хабре появилась новость о том, что российские ученые получили патент на новую архитектуру квантового процессора. В новости говорилось о том, что в конце 2021 года коллектив ученых...
VUE.JS - это javascript фрэймворк, с версии 18.5 его добавили в ядро битрикса, поэтому можно его использовать из коробки.
IBM PC Model 5150 и атака клонов Единственным примечательным фактом о продукте, совершившем революцию в бизнесе персональных компьютеров, стало то, что его создала IBM. Если бы любая другая ко...
В 1С-Битрикс: Управление сайтом (как и в Битрикс24) десятки, если не сотни настраиваемых типов данных (или сущностей): инфоблоки, пользователи, заказы, склады, форумы, блоги и т.д. Стр...
Это интервью с Антоном Батяевым (batiaev) из Технологического Центра Дойче Банка. Мы поговорим о том, чем занимаются финансовые математики, откуда берутся данные в банках, как обрабатываются и оп...