Когда мало памяти

Мало виртуальной памяти что делатьВсем известно что такие дистрибутивы как Ubuntu — это легкие и быстрые тяжелые как танк гну\линукс(nix). И зачастую открыв много вкладок в не менее легком браузере типа FireFox, Chrome система испытывает боль чуть ниже поясницы нехватку памяти и начинает свопиться. Все начинает тормозить и не дай бог всплывет баг 12309

А вот ты и попал под кат, дружок 🙂
Сегодня мы поставим zRam он же бывший Compcache на нашу Ubuntu.

Что такое zRAM ?
Это модуль ядра который создает файл подкачки в оперативной памяти.
Я уже слышу эти возгласы:
— Что ?!! Своп нужен для выгрузки страниц памяти на диск, когда ее (памяти) нехватает.
— Нахрена память выгружать в память ? Ведь ее итак нехватает!
Вся соль в том что своп в памяти находится сжатым. В этом случае системе надо потратить только процессорное время на сжатие/расжатие страниц памяти, без обращения к медленному ЖД. Да, обычный своп никто не отменял. Он будет использоваться в последнюю очередь. В результате всех манипуляций, как это не парадоксально. Системе живется более лучше легче.

Область применения:

  • Ноутбуки/Нетбуки, Андроид девайсы (linux inside же!), старые компьтеры;
  • Виртуализация. В этом случае на линукс хост системе устанавливается zRam, который сжимает оперативную память запущенных виртуальных машин;
  • Встраиваемые устройства. Тут понятно, в них никогда не бывает много памяти. А если и добавить то это скажется на их стоимости.

Поставить это добро можно следующими командами:

sudo add-apt-repository ppa:shnatsel/zram
sudo apt-get update
sudo apt-get install zramswap-enabler

Отдельно deb пакеты для Ubuntu начиная с 11.04 можно скачать тут

P.S.
1. Автор модуля сказал, что ему не известно добавится ли скорость, если вместо обычного HDD использовать SDD вкупе с zRam.
2. параметр vm.swappiness который лежит в файле /etc/sysctl.conf лучше оставить на дефолтном значении 60.