Программы
Храним swap в памяти. Разве это возможно?

Храним swap в памяти. Разве это возможно?

«ловкость рук и никакого мошенничества»

Swap — один из механизмов работы виртуальной памяти. Если какие-то данные не нужны долгое время, их стоит убрать из оперативной памяти во вторичную (жёсткий диск, например), а освободившуюся оперативную память использовать для более активных участков виртуальной памяти.

Так как жёсткий диски в разы медленнее оперативной памяти, возвращение кусочков памяти в работу — долгая операция. Но что если держать swap прямо в памяти?

Так, конечно, будет быстрее, но смысла в этом особо нет — мы же не освободим память для новых данных... Или освободим?

Мы можем научить часть памяти работать с компрессией (сжимать данные). Память же сейчас хранится «как есть», не сжимаясь…

Именно об этом задумались создатели проекта zram. С его помощью можно хранить swap данные не на диске, а в «сжатой памяти». Создаются блочные устройства для swap, которые сохраняют информацию в сжатом виде. И всё это в памяти.

То есть мы забираем из ram небольшую часть, чтобы, когда её будет не хватать, быстрее работать со «swap». Да, CPU будет использоваться чуть больше, но это куда быстрее чем простой на запросы к жёсткому диску.

В общем, «ловкость рук и никакого мошенничества». Вполне неплохо работает на устройствах, где памяти не хватает (ноутбуки, сервера виртуализации).

Опять же установить zram на Ubuntu / Mint Linut / Debain довольно просто:

sudo aptitude install zram-config

После чего проверить:

$ sudo swapon -s
Filename Type Size Used Priority
/dev/sda5 partition 4100092 403188 -1
/dev/zram0 partition 490936 136 5
/dev/zram1 partition 490936 140 5
/dev/zram2 partition 490936 140 5
/dev/zram3 partition 490936 140 5

— на каждый процессор по одному «swap-у».

Используйте память с умом — ставьте zram!

Также может быть вам интересно:

Закопать себя как специалиста и ничего не понять

«он нам не подходит, хотите, чтобы мы о вас вспоминали и предлагали что-то — делайте в ворде, это же не прихоть одного рекрутера»

Читать »

Как сделать установочную USB-флешку Windows 7, 8, 10 Ubuntu / Linux Mint / Debian

«Переустанови мне Windows — тыж программист»

Читать »
Фото Как сделать свою middleware в Django (с примерами)

Как сделать свою middleware в Django (с примерами)

Middleware или "промежуточное программное обеспечение" - элегантный способ установить общие правила обработки запросов и ответов приложения. Давайте напишем парочку middleware, чтобы понять, как они работают.

Фото Как настроить отправку почты из Django

Как настроить отправку почты из Django

Письма об ошибках, отчёты на почту, восстановление паролей - всё это полезно при работе с сайтом. Django предоставляет удобный способ это сделать с минимумом настроек!

Фото Добавляем поддержку медиа-файлов в Django проект

Добавляем поддержку медиа-файлов в Django проект

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

Фото Настройка журналирования (логирования) в Python с примерами

Настройка журналирования (логирования) в Python с примерами

Во время работы программы часто нужно сохранять некоторые важные записи о процессе выполнения команды. В Python есть довольно мощный модуль для работы с логами - давайте разберёмся с тем, как его использовать.

Фото Пользователи и авторизация (логин) в Django, кастомизация пользователя

Пользователи и авторизация (логин) в Django, кастомизация пользователя

В Django есть множество встроенных возможностей, которые позволяют не реализовывать многие классы для стандартных операций. Среди них - авторизация. Django изначально предоставляет пользовательскую систему. Но её можно использовать лучше, чем по умолчанию.

Фото Панель администрирования Django - настройка вида (шаблона)

Панель администрирования Django - настройка вида (шаблона)

Простой способ подключить админку к сайту на Django, как сконфигурировать адмиин-панель, как изменить оформление администрационной панели Django фреймворка.

Фото Панель администрирования Django - подключение, настройка, поиск, фильтрация

Панель администрирования Django - подключение, настройка, поиск, фильтрация

Простой способ подключить админку к сайту на Django, как сконфигурировать адмиин-панель и добавить функциональность поиска, массовых действий, как изменить оформление администраторской панели Django фреймворка.

Фото И снова sudo, и снова "решето"

И снова sudo, и снова "решето"

В утилите sudo была исправлена очередная уязвимость.