Используйте Zswap для повышения производительности на ПК с Linux с небольшим объемом оперативной памяти

Используйте Zswap для повышения производительности на ПК с Linux с небольшим объемом оперативной памяти
⏱️ 1 min read

Посмотрим правде в глаза, некоторые из нас не так часто обновляются. Или, по крайней мере, как пользователи Linux, нам нравится переназначать наши старые ноутбуки/компьютеры. Многие дистрибутивы удобно работают на системах с небольшим объемом оперативной памяти (оперативной памяти). Браузеры, однако, не так снисходительны, требуя все больше и больше памяти по мере развития Интернета.

В то время как система со средой рабочего стола LXDE может занять всего 150 МБ ОЗУ после загрузки, Chromium, Chrome или Firefox быстро съедят сотни мегабайт и даже несколько гигабайт ОЗУ, когда мы откроем несколько вкладок.

И вот когда это происходит! Жесткий диск начинает издавать скрежещущий звук. Музыка начинает заикаться. Когда мы переключаемся на другое приложение, до его появления на экране проходят десятки секунд. Даже курсор мыши может начать отставать. Это эффект пробуксовки диска.

Что такое пробуксовка диска?

Во-первых, нам нужно понять swap. Когда у нас заканчивается свободная оперативная память, данные приложений, к которым операционная система не обращалась в течение длительного времени, перемещаются в область подкачки. Это часто на физическом устройстве хранения. Делая это, операционная система может освободить место в памяти, которое сейчас необходимо программе. Таким образом, вкладка в нашем браузере, к которой мы не обращались в течение последнего часа, может быть перемещена на жесткий диск. Теперь можно запустить редактор изображений GIMP. Когда мы закрываем его и переключаемся обратно на эту старую вкладку, операционная система подкачивает ее обратно в память (считывает ее с диска и копирует обратно в оперативную память).

zswap-жесткий диск

Этот механизм хорошо работает при обмене небольшими объемами данных. Но когда, скажем, доступно только 2 ГБ ОЗУ, а всем открытым программам требуется 4 ГБ, операционной системе приходится постоянно переключаться. Постоянное перемещение данных из памяти на диск, с диска в память и обратно очень медленно, особенно с жесткими дисками. В такой ситуации запоминающее устройство не может выполнять запросы достаточно быстро. Короче говоря, когда происходит перегрузка диска, все становится очень медленным.

SSD диски отлично подходят для подкачки

В Интернете до сих пор ходит миф: «Никогда не устанавливайте swap на SSD. Это убьет ваше устройство!» Это было верно несколько лет назад, но не сейчас. На самом деле настройка подкачки на SSD диске приводит к отличным результатам. Если компьютер включает в себя устройство SSD с хорошей производительностью произвольного чтения/записи (не менее 300 МБ), настройте на нем раздел подкачки и игнорируйте оставшуюся часть этой статьи. Когда операционной системе нужно подкачать 1 ГБ данных, это займет менее пяти секунд, тогда как на жестком диске это займет больше минуты.

Как значительно уменьшить перегрузку диска в Linux

zswap-мем-сжатие-RAM

К счастью, большая часть данных, хранящихся в оперативной памяти, легко сжимаема. Это означает, что если мы возьмем 200 МБ данных, хранящихся в памяти, и сожмем их, мы сможем уменьшить размер до 100 МБ. Следовательно, это означает, что при подкачке системе придется записывать на диск гораздо меньше данных.

Представьте, что вместо того, чтобы ждать тридцать секунд, чтобы переключиться на программу, вам нужно подождать пятнадцать. Это ощутимое улучшение. Но на самом деле ускорение гораздо значительнее (возможно, придется подождать менее десяти секунд), потому что инструмент, который мы будем использовать, более сложный. Он интеллектуально отправляет на диск только те биты и фрагменты, которые не могут быть сжаты, сохраняя остальные в зарезервированной части памяти. Если вы хотите узнать больше о его внутренностях, ознакомьтесь с официальная страница ядра Linux о zswap.

Простая версия преимуществ, которые мы получаем, используя zswap, заключается в том, что вместо ужасных замедлений, когда у нас заканчивается память, мы получаем терпимые, умеренные замедления, которые длятся секунды, а не десятки секунд или даже минут.

Как включить zswap в дистрибутивах на основе Debian (Ubuntu, Linux Mint и т. д.)

Откройте приложение терминала и выполните эту команду, чтобы отредактировать файл конфигурации шаблона загрузчика Grub:

sudoedit /etc/default/grub

zswap-edit-grub-template-config

С помощью клавиш курсора перейдите к строке, которая начинается с «GRUB_CMDLINE_LINUX_DEFAULT». В кавычках добавьте следующий текст:

zswap.enabled=1

Zswap-редактирование-жратва-шаблон-config-2

Например, строка, которая была GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" становится GRUB_CMDLINE_LINUX_DEFAULT="quiet splash zswap.enabled=1".

Чтобы сохранить файл, нажмите Ctrl + Иксзатем «y», а затем Enter.

Создайте новые файлы конфигурации Grub в соответствии с шаблоном, который мы ранее редактировали:

sudo update-grub

zswap-update-grub-finished

Перезагрузитесь, и модуль zswap будет включен автоматически.

Как включить zswap в Fedora и OpenSUSE

Процедура здесь аналогична описанной в предыдущем разделе, но с некоторыми особенностями. Отредактируйте файл конфигурации шаблона Grub.

sudoedit /etc/default/grub

Добавлять zswap.enabled=1 в кавычках, в строке, начинающейся с GRUB_CMDLINE_LINUX.

Zswap-редактирование-личинки-шаблон-Fedora

Нажимать Ctrl + Иксзатем «y», а затем Enter, чтобы сохранить файл.

В зависимости от того, загружается ли ваш компьютер из системы BIOS или UEFI, файл конфигурации Grub создается по другому пути. Чтобы узнать, где он находится в данный момент, введите следующую команду:

sudo find /boot/ -name grub.cfg

zswap-find-grub-cfg-on-fedora

Используйте путь, который выводится здесь, в следующей команде. Например, в нашем случае найденный путь был «/boot/grub2/grub.cfg», поэтому мы добавим его в конец следующей команды после «-o»:

sudo grub2-mkconfig -o /boot/grub2/grub.cfg

Перезагрузите компьютер. После перезагрузки проверьте, активен ли модуль:

cat /sys/module/zswap/parameters/enabled

Если на выходе «Y», модуль работает правильно.

Как включить zswap в Arch Linux

Установите пакет systemd-swap:

sudo pacman -Sy systemd-swap

zswap-pacman-установить-systemd-своп

Заставьте этот пакет работать во время загрузки:

sudo systemctl enable systemd-swap

Запустите его сейчас, без перезагрузки:

sudo systemctl start systemd-swap

Чтобы проверить, все ли работает должным образом, проверьте, включен ли модуль zswap:

cat /sys/module/zswap/parameters/enabled

zswap-enable-systemd-swap-service

Если на выходе «Y», это означает, что модуль активен.

Как включить zswap в разных дистрибутивах

Вообще говоря, включить zswap во время загрузки так же просто, как добавить zswap.enabled=1 к параметрам вашего ядра. Большинство дистрибутивов по умолчанию используют Grub2 в качестве загрузчика. Если вы используете другой загрузчик, найдите файл конфигурации, в котором он хранит параметры ядра для передачи во время загрузки, и добавьте zswap.enabled=1 как дополнительный параметр.

Еще один параметр, с которым вы можете поиграть, чтобы узнать, улучшает ли он производительность для вашего конкретного варианта использования, это zswap.max_pool_percent=20. Вы можете настроить его, изменив число в конце: например, zswap.max_pool_percent=50.

Добавьте его в те же параметры ядра, где вы добавляете zswap.enabled=1. Рекомендуется не превышать 50%, так как это может иметь пагубные последствия для систем с небольшим объемом оперативной памяти.

Вывод

Если вам часто не хватало оперативной памяти в вашей старой системе и вы сталкивались с раздражающими эффектами перегрузки диска, вы сразу же заметите и оцените разницу. Вместо ужасных замедлений вы столкнетесь с легкой временной задержкой, которая длится несколько секунд (вместо минут), когда операционной системе приходится выгружать на диск большое количество данных. Вы сможете продолжить работу в ситуациях, когда раньше вы вообще не могли пользоваться компьютером во время его замены.

Join our Newsletter and receive offers and updates! ✅

0 0 голоса
Article Rating
Аватар Routech

Routech

Routech is a website that provides technology news, reviews and tips. It covers a wide range of topics including smartphones, laptops, tablets, gaming, gadgets, software, internet and more. The website is updated daily with new articles and videos, and also has a forum where users can discuss technology-related topics.

Подписаться
Уведомить о
guest
0 Comments
Межтекстовые Отзывы
Посмотреть все комментарии
0
Оставьте комментарий! Напишите, что думаете по поводу статьи.x