Як налаштувати файл підкачки в Linux

Swap – це критично важливий елемент операційної системи Linux, що впливає на керування запущеними програмами. Завдяки swap, користувачі Linux отримують можливість призупиняти процеси, що виконуються в оперативній пам’яті (ОЗП), та навіть розширювати доступний обсяг пам’яті для програм у випадках, коли фізична ОЗП вичерпана. Слід зазначити, що використання swap є рекомендованим для кожного користувача Linux. Традиційно, в дистрибутивах Linux під swap створювався окремий розділ на жорсткому диску. Ця практика була поширеною протягом тривалого часу. Проте, приблизно з 2017 року, файли підкачки стають дедалі популярнішими. Наприклад, Ubuntu нещодавно відмовилася від розділів підкачки на користь файлу підкачки, і цілком ймовірно, що інші дистрибутиви наслідуватимуть цей приклад у майбутньому. Основна причина такої зміни – зручність. Відсутність окремого розділу підкачки спрощує процес встановлення системи, роблячи його швидшим. Крім цього, файл підкачки можна збільшити без необхідності перерозподілу всього жорсткого диска, а також його можна легко вимкнути при потребі. Далі розглянемо, як саме можна налаштувати файл swap в Linux.

Зауваження: Файл підкачки можна налаштувати в будь-якому дистрибутиві Linux. Першочергово, необхідно інсталювати дистрибутив Linux без створення окремого розділу підкачки. Важливо пам’ятати, що це означає, що потрібно відмовитися від стандартного, спрощеного інсталятора.

Для встановлення системи без swap часто потрібний так званий “індивідуальний” варіант інсталяції. Це передбачає ручне створення та налаштування розділів, точок монтування та, у випадку UEFI, завантажувального розділу.

Наприклад, під час встановлення Ubuntu, для того, щоб отримати можливість індивідуального налаштування, потрібно вибрати опцію “Щось інше”. В інших дистрибутивах Linux вона може називатися “Користувацький макет” або мати схожу назву.

Увага: Якщо ви використовуєте файлову систему BtrFS, цей посібник не для вас. BtrFS не підтримує файли підкачки.

Налаштування swap

Створення файлу підкачки включає в себе використання інструмента dd. Необхідно створити файл розміром, що дорівнює об’єму вашої фізичної ОЗП. Введіть наведену нижче команду точно так, як вона показана, у вигляді одного безперервного рядка.

Якщо все виконано правильно, вам буде запропоновано ввести значення в гігабайтах, яке автоматично буде перетворено в мегабайти. Математичні розрахунки не потрібні.

Примітка: Якщо об’єм вашої оперативної пам’яті перевищує 4 Гб, створіть файл підкачки об’ємом, що становить половину об’єму ОЗП.

echo 'enter gigabytes:';read gigabytes;calculated=$((1024 * $gigabytes))

Обчислення розміру файлу підкачки завершено. Результат обчислень збережено у змінній $calculated. Тепер ми використаємо це значення в команді dd. Створення файлу підкачки може зайняти деякий час, при цьому жодних індикаторів прогресу відображатися не буде. Після завершення процесу введіть наступну команду.

sudo dd if=/dev/zero of=/swapfile bs=1M count=$calculated

Далі необхідно змінити права доступу до файлу підкачки, який знаходиться в кореневому каталозі (/). Це необхідно для того, щоб система мала повний доступ до цього файлу. Без цього swap не буде функціонувати належним чином.

Отримайте root-права, використовуючи команду:

sudo -s

chmod 600 /swapfile

Після встановлення правильних дозволів, скористайтесь командою mkswap. Ця команда використовується для перетворення розділу або файлу у простір підкачки.

mkswap /swapfile

Тепер права доступу встановлено, і все готово до роботи. Наступним кроком є інформування Linux про необхідність увімкнути swap. Це робиться за допомогою команди swapon.

swapon /swapfile

Після виконання чотирьох наведених вище команд, файл підкачки повинен бути активований. Проте, цього недостатньо, оскільки під час завантаження система має знати про існування swap та його місцезнаходження. Для цього необхідно відредагувати файл /etc/fstab (файл таблиці файлових систем).

Спочатку додайте коментар в кінець файлу. Це зробить таблицю файлових систем більш структурованою та зрозумілою для подальшого редагування.

echo "# Swap file" >> /etc/fstab

Далі, під коментарем, додайте рядок, який вказує на місцезнаходження файлу підкачки в системі, спосіб його обробки, і т.д.

echo "/swapfile none swap defaults 0 0" >> /etc/fstab

Після виконання цих змін, перезавантажте систему. Відтепер, при кожному завантаженні системи Linux, вона використовуватиме файл підкачки.

Вимкнення файлу підкачки

На відміну від розділу підкачки, користувачі можуть легко вимкнути файл та звільнити простір, який він займав, без необхідності перерозподілу диска. Вимкнення swap є швидким процесом у три кроки.

Розпочніть з відкриття терміналу та введення команди:

sudo nano /etc/fstab

Далі знайдіть усі рядки, що стосуються swap (наприклад, коментар, який вказує на те, що це запис про swap) і видаліть їх. Потім збережіть зміни, натиснувши

Ctrl + O.

Після збереження змін, вимкніть swap.

sudo swapoff -a

Перейдіть в кореневий каталог файлової системи.

cd /

Видаліть сам файл підкачки.

sudo rm swapfile

Перезавантажте комп’ютер. Після перезавантаження, файл підкачки повністю зникне та більше не буде активним.

Висновок

Swap є корисним інструментом, оскільки надає додаткові ресурси для програм, коли їм не вистачає оперативної пам’яті. Хоча це не завжди є очевидним, файли підкачки мають ряд вагомих переваг. Завдяки їм можна легко створити та вимкнути swap без необхідності перерозподілу диска. Крім того, розмір файлу підкачки можна змінювати при необхідності. Сподіваємося, що цей посібник допоможе користувачам Linux краще зрозуміти переваги використання файлу підкачки замість виділеного розділу.