Add a Swap Partition (For Dedicated Disks)

Основні кроки:

  • Створити розділ type 82 (Linux swap) (Я роблю це у cfdisk)
  • Форматуємо: sudo mkswap /dev/sdXN
  • Активуємо: sudo swapon /dev/sdXN
  • Додаємо до /etc/fstab partition’s UUID (не ім'я, воно може змінюватися при рестарті)

Щоб знайти UUID:

sudo blkid /dev/sdXN

Потім додамо у fstab:

UUID=your-uuid-here none swap sw 0 0

Це все

Створення тимчасового файлу підкачки (Swap)

Щоб системі було легше "дихати" під час маніпуляцій, додайте хоча б 512 МБ свопу:

# Create a temporary swap file
sudo fallocate -l 512M /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

Це просто докупи. Щоб було все при місті

Створення файлу підкачки

Ми використаємо команду fallocate, яка миттєво резервує місце на диску.

# Create a 2GB file for swap
sudo fallocate -l 2G /swapfile

Якщо fallocate видасть помилку (на деяких файлових системах на кшталт Btrfs), використайте стару добру команду dd:

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

Налаштування прав доступу

Це критично важливо для безпеки. Тільки користувач root повинен мати доступ до цього файлу.

# Set correct permissions: only root can read/write
sudo chmod 600 /swapfile

Форматування файлу під Swap

Тепер потрібно сказати системі, що цей файл — не просто набір нулів, а область підкачки.

# Format the file as swap
sudo mkswap /swapfile

Активація

Увімкніть файл підкачки в поточній сесії:

# Enable the swap file
sudo swapon /swapfile

Перевірте результат: Виконайте free -h або swapon --show. Ви маєте побачити рядок "Swap" із розміром 2.0G.

Робимо Swap постійним

Щоб після перезавантаження файл підкачки підключався автоматично, потрібно додати запис у файл конфігурації монтування /etc/fstab.

  • Відкрийте файл (наприклад, через nano або vim):
  • Додайте в самий кінець файлу цей рядок:

/swapfile none swap defaults 0 0

  • Збережіть та вийдіть (у nano це Ctrl+O, Enter, потім Ctrl+X).

Налаштування Swappiness (Опціонально)

Параметр swappiness (від 0 до 100) визначає, наскільки активно ядро буде скидати дані з RAM у Swap. Для VDS з 1 ГБ RAM краще встановити низьке значення (наприклад, 10 або 20), щоб система використовувала диск тільки тоді, коли пам'ять реально закінчується.

  • Перевірте поточне значення:

    cat /proc/sys/vm/swappiness

  • Змініть його на 10:

      # Set swappiness to 10 temporarily
      sudo sysctl vm.swappiness=10
  • Щоб зберегти це назавжди, створіть файл конфігурації:

    echo "vm.swappiness=10" | sudo tee /etc/sysctl.d/99-swappiness.conf