Add a Swap Partition (For Dedicated Disks)
Основні кроки:
- Створити розділ
type82 (Linux swap)(Я роблю це уcfdisk) - Форматуємо: sudo mkswap /dev/sdXN
- Активуємо: sudo swapon /dev/sdXN
- Додаємо до
/etc/fstabpartition’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