Swap-файл — це спеціальний файл на SSD або жорсткому диску, який операційна система використовує як додатковий простір для роботи з пам’яттю. Він не замінює RAM за швидкістю, але допомагає системі пережити короткий сплеск навантаження, коли оперативної пам’яті бракує. У Linux та Windows цей механізм є частиною віртуальної пам’яті.
Що таке swap-файл і навіщо він потрібен системі
Оперативна пам’ять поділена на невеликі блоки — сторінки. У Linux стандартний розмір такої сторінки зазвичай становить 4 КБ. Поки програмам вистачає RAM, система тримає потрібні сторінки саме там, оскільки оперативна пам’ять працює значно швидше за накопичувач.
Коли RAM заповнюється, ядро може перемістити на диск сторінки, до яких давно не зверталися. Цей процес називається swapping, або підкачуванням. Вивільнене місце отримують активні програми та системні операції.

Якщо програма знову звертається до сторінки, якої вже немає в RAM, виникає page fault — звернення до відсутньої сторінки. Система знаходить її у swap-файлі, повертає в оперативну пам’ять і продовжує роботу. Через повільніший доступ до диска така операція може спричинити затримку.
Swap також зменшує ризик аварійного завершення програм через OOM Killer — механізм Linux, який примусово зупиняє процеси, коли пам’яті критично не вистачає. Це не абсолютний захист: якщо закінчилися і RAM, і swap, система все одно може завершити програму. Файл підкачки потрібен і для гібернації, коли стан системи зберігається на диск, а після ввімкнення відновлюється.
Чим swap-файл відрізняється від swap-розділу
Swap-файл лежить усередині звичайної файлової системи, наприклад у корені Linux-системи. Swap-розділ займає окрему ділянку диска й не має звичайної файлової структури. Обидва варіанти виконують одну функцію — зберігають сторінки пам’яті, які тимчасово вивантажили з RAM.
Станом на 2026 рік більшість дистрибутивів Linux за замовчуванням використовують swap-файл або zram, а не заздалегідь виділений розділ підкачки. У ядрах Linux версії 2.6 і новіших швидкодія swap-файлу та swap-розділу є однаковою за коректних умов роботи. На практиці вибір між ними частіше залежить від зручності керування дисковим простором.
| Параметр | Swap-файл | Swap-розділ |
|---|---|---|
| Розміщення | Усередині звичайної файлової системи | Окремий дисковий розділ типу 82 в MBR |
| Зміна розміру | Легко збільшити, зменшити чи видалити без перерозмітки | Потребує складного репартиціонування |
| Створення після встановлення ОС | Створюється однією-двома командами | Вимагає вільного нерозміченого місця або зміни таблиці розділів |
| Продуктивність | Однакова завдяки сучасним ядрам | Однакова |
Файл зручніший, коли після встановлення системи потрібно додати або збільшити підкачку без зміни розділів. Розмір можна налаштувати під нове навантаження, а сам файл — вимкнути й видалити без перерозмітки диска.
Як визначити оптимальний розмір файлу підкачки
Старе правило «виділити swap у розмірі двох обсягів RAM» не підходить як універсальна порада. Для комп’ютера з 16 ГБ оперативної пам’яті воно означало б 32 ГБ swap, а для системи з 64 ГБ RAM — 128 ГБ. Такий обсяг часто не використовується й без потреби займає місце на накопичувачі.

Розмір swap залежить від обсягу RAM, характеру навантаження та потреби в гібернації. Для 4 ГБ RAM зазвичай достатньо 2–4 ГБ підкачки, для 8–16 ГБ — 4–8 ГБ, а для 32 ГБ і більше часто вистачає 4–8 ГБ як запасу проти OOM.
Для гібернації swap має вміщувати повний стан фізичної оперативної пам’яті. Наприклад, при 16 ГБ RAM потрібно передбачити щонайменше 16 ГБ swap. Деякі системи можуть вимагати додатковий запас, тому точні вимоги залежать від способу налаштування гібернації.
Swap може використовуватися навіть тоді, коли вільна RAM ще є. Ядро іноді вивантажує «мертві» сторінки фонових служб, яким давно не потрібен швидкий доступ, щоб віддати RAM під дисковий кеш і пришвидшити повторне відкриття файлів. За частоту такого скидання відповідає параметр vm.swappiness зі значенням від 0 до 100: вище значення означає агресивніше використання swap, а нижче — більшу перевагу RAM. Помірне значення може зменшити зайві записи на SSD, але надто низьке налаштування не завжди корисне для систем із великим навантаженням.
Як перевірити та створити swap-файл у Linux
Перед створенням нового файлу перевірте, чи вже є активна підкачка. Команди нижче покажуть обсяг RAM, використаний swap і всі підключені простори підкачки.
- Перевірте стан пам’яті та підкачки:
free -hіswapon --show. За потреби замість другої команди використайтеcat /proc/swaps. - Створіть файл потрібного розміру, наприклад 2 ГБ:
fallocate -l 2G /swapfile. Альтернативний варіант —dd if=/dev/zero of=/swapfile bs=1M count=2048. - Обмежте доступ до файлу лише для root:
chmod 600 /swapfile. - Підготуйте файл до використання як swap:
mkswap /swapfile. - Активуйте файл у системі:
swapon /swapfile. - Додайте рядок
/swapfile none swap defaults 0 0у файл/etc/fstab, щоб swap автоматично вмикався після перезавантаження.
Тимчасово вимкнути файл можна командою swapoff /swapfile. Щоб видалити його остаточно, спочатку вимкніть swap, приберіть відповідний рядок із /etc/fstab, а потім виконайте rm /swapfile.
