Добавить в корзинуПозвонить
Найти в Дзене
Игорь Сотников

Расширение swap с 4 ГБ до 12 ГБ в Ubuntu 24.04

В статье описан типичный сценарий: swap оформлен как файл (часто /swapfile), как в стандартных установках Ubuntu. Если swap привязан к отдельному разделу диска, порядок действий другой — см. раздел в конце. Увеличение swap снижает риск нехватки памяти при пиковых нагрузках и даёт ядру больше пространства для выгрузки анонимных страниц. Перед изменениями желательно иметь резервную копию важных данных и понимать, что на время отключения swap часть «запаса» по RAM+swap временно уменьшается. Сначала выясните, файл это или раздел, и какой путь указан в fstab: swapon --show free -h grep -i swap /etc/fstab ls -lh /swapfile 2>/dev/null Если в выводе swapon виден путь вроде /swapfile — дальше подходит основной сценарий ниже. sudo swapoff /swapfile Если файл называется иначе, подставьте путь из swapon --show. sudo rm -f /swapfile sudo fallocate -l 12G /swapfile Если fallocate недоступен или выдаёт ошибку на вашей ФС, можно выделить место через dd: sudo dd if=/dev/zero of=/swapfile bs=1M count=1
Оглавление

В статье описан типичный сценарий: swap оформлен как файл (часто /swapfile), как в стандартных установках Ubuntu. Если swap привязан к отдельному разделу диска, порядок действий другой — см. раздел в конце.

Зачем это нужно

Увеличение swap снижает риск нехватки памяти при пиковых нагрузках и даёт ядру больше пространства для выгрузки анонимных страниц. Перед изменениями желательно иметь резервную копию важных данных и понимать, что на время отключения swap часть «запаса» по RAM+swap временно уменьшается.

Подготовка: как у вас устроен swap

Сначала выясните, файл это или раздел, и какой путь указан в fstab:

swapon --show
free -h
grep -i swap /etc/fstab
ls -lh /swapfile 2>/dev/null

Если в выводе swapon виден путь вроде /swapfile — дальше подходит основной сценарий ниже.

Основной сценарий: swap-файл (например /swapfile)

1. Отключить текущий swap

sudo swapoff /swapfile

Если файл называется иначе, подставьте путь из swapon --show.

2. Удалить старый файл и создать новый размером 12 ГБ

sudo rm -f /swapfile
sudo fallocate -l 12G /swapfile

Если fallocate недоступен или выдаёт ошибку на вашей ФС, можно выделить место через dd:

sudo dd if=/dev/zero of=/swapfile bs=1M count=12288 status=progress

3. Права доступа и инициализация как swap

sudo chmod 600 /swapfile
sudo mkswap /swapfile

4. Включить swap и проверить

sudo swapon /swapfile
swapon --show
free -h

Ожидаемо: в free -h и swapon --show отображается около 12 ГБ swap (точное значение может чуть отличаться из‑за единиц измерения и округления).

5. Автоподключение после перезагрузки

Убедитесь, что в /etc/fstab есть строка для этого файла, например:

/swapfile none swap sw 0 0

Правка при необходимости:

sudo nano /etc/fstab

Проверка корректности записей:

sudo findmnt --verify --verbose

После изменений можно перезагрузить систему и снова выполнить swapon --show и free -h.

Альтернативный случай: swap на разделе (/dev/sdXN)

Если swapon --show показывает блочное устройство, а не файл:

swapon --show
lsblk -f

Тогда нельзя просто повторить инструкцию для /swapfile. Нужно:

  1. Освободить/получить непрерывное свободное место на диске рядом с разделом swap (зависит от разметки: MBR/GPT, LVM, шифрование и т.д.).
  2. Расширить раздел инструментами разметки (parted, growpart, графический GParted и т.п.) — только с пониманием текущей схемы диска.
  3. Выполнить sudo swapoff <устройство>, затем sudo mkswap <устройство>, sudo swapon <устройство> или обновить UUID в /etc/fstab, если используется монтирование по UUID.

Универсального набора команд без анализа разметки для этого варианта нет; ошибка на шаге разметки может привести к потере данных.

Окружение: локальный ПК с Ubuntu 24; целевой размер swap: 12 ГБ; исходный: 4 ГБ.