Подробный гайд по созданию и настройке Swap-файла в ALT Linux

Пошаговая инструкция по созданию и настройке swap-файла в ALT Linux: размер, права, mkswap, fstab, оптимизация swappiness.

2026.04.07                  


Подробный гайд по созданию и настройке Swap-файла в ALT LinuxПодробный гайд по созданию и настройке Swap-файла в ALT Linux

Примечание:

  • В ALT Linux (ветки P9, P10, KWorkstation, Server и др.) управление подкачкой выполняется стандартными утилитами ядра Linux. Дополнительные пакеты устанавливать не требуется. Все команды выполняются от имени root или через sudo.

Шаг 0: Проверка текущего состояния подкачки

Перед созданием убедитесь, что swap действительно отсутствует или его недостаточно:

free -h
swapon --show
cat /proc/swaps

Если вывод пуст или показывает малый объём – переходим к созданию.

Шаг 1: Выбор размера файла

Объём ОЗУ Рекомендуемый swap
≤ 2 ГБ 2× RAM
2–8 ГБ 1× RAM
8–16 ГБ 4–8 ГБ
> 16 ГБ 4 ГБ (или отключить, если не используется гибернация)

Для большинства современных систем достаточно 4–8 ГБ.

Шаг 2: Создание swap-файла

Рекомендуется использовать dd – он гарантированно создаёт файл без «дыр», что критично для стабильной работы подкачки.

sudo dd if=/dev/zero of=/swapfile bs=1M count=4096 status=progress
  • count=4096 → 4 ГБ. Для 8 ГБ укажите 8192.
  • status=progress → отображает ход записи (поддерживается в coreutils ≥ 8.24, есть во всех современных ALT Linux).

Альтернатива:

`sudo fallocate -l 4G /swapfile`

работает быстрее, но не рекомендуется на XFS и старых ядрах, так как может привести

к ошибке `swapon:

failed: Invalid argument`.

Шаг 3: Установка прав доступа

Swap-файл должен быть доступен только root. Иначе swapon откажется его активировать.

sudo chmod 600 /swapfile
sudo chown root:root /swapfile

Шаг 4: Инициализация файла как swap

sudo mkswap /swapfile

Вывод будет примерно таким:

Setting up swapspace version 1, size = 4 GiB (4294963200 bytes)
no label, UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx

Шаг 5: Включение подкачки

sudo swapon /swapfile

Проверка:

swapon --show
free -h

Вы должны увидеть /swapfile в списке устройств подкачки и увеличенный объём Swap: в free -h.

Шаг 6: Автозагрузка при старте системы

Чтобы swap-файл подключался после перезагрузки, добавьте запись в /etc/fstab.

1. Откройте файл (в ALT Linux удобен mcedit, идущий в комплекте с mc):

   sudo mcedit /etc/fstab

2. Добавьте строку в конец:

   /swapfile none swap sw 0 0
  1. Сохраните и выйдите.

4. Проверьте корректность синтаксиса:

   sudo findmnt --verify --target /swapfile

или просто:

   sudo swapon -a

Если ошибок нет – всё готово.

Поля fstab:

  • устройство точка монтирования тип опции dump pass. Для swap указываются именно такие значения.

Шаг 7: Оптимизация параметров ядра (опционально)

1. Параметр vm.swappiness

Определяет, насколько агрессивно ядро использует swap. Значение от 0 до 100.

  • 60 – значение по умолчанию
  • 10 – рекомендуется для SSD и десктопов (подкачка только при явной нехватке RAM)
  • 0 – в современных ядрах означает «избегать подкачки, но не отключать полностью»

Настройка:

# Проверить текущее
cat /proc/sys/vm/swappiness

# Временно изменить
sudo sysctl vm.swappiness=10

# Постоянно: добавить в /etc/sysctl.d/99-local.conf
echo "vm.swappiness=10" | sudo tee -a /etc/sysctl.d/99-local.conf
sudo sysctl -p /etc/sysctl.d/99-local.conf

2. Параметр vm.vfs_cache_pressure (опционально)

Влияет на кэширование метаданных ФС. Значение 50 снижает нагрузку на диск при активной работе с файлами.

echo "vm.vfs_cache_pressure=50" | sudo tee -a /etc/sysctl.d/99-local.conf
sudo sysctl -p

Шаг 8: Финальная проверка

free -h
swapon --show
vmstat 1 5

В vmstat колонка si/so (swap in/out) должна быть близка к 0 в простое. Небольшие скачки при запуске тяжёлых приложений – норма.

Как удалить swap-файл

Если он больше не нужен:

sudo swapoff /swapfile
sudo sed -i '/\/swapfile/d' /etc/fstab
sudo rm -f /swapfile

Проверьте:

  • swapon --show и free -h.

Особенности ALT Linux и частые проблемы

Проблема Решение
swapon: failed: Invalid argument при использовании fallocate Пересоздайте файл через dd
Swap не подключается после перезагрузки Проверьте права (600), синтаксис fstab, выполните sudo swapon -a
Высокий iowait в top/htop Уменьшите swappiness, проверьте здоровье диска (smartctl -a /dev/sdX), возможно, нехватка RAM
Файловая система btrfs Swap-файл на btrfs требует chattr +C /swapfile и отключения CoW для тома. Лучше использовать отдельный раздел или ext4/xfs
Система использует systemd-swap (гибридная подкачка) В ALT Linux по умолчанию не включён. Если установлен, отключите службу systemctl disable --now systemd-swap перед ручным созданием файла

Итоговые рекомендации

  • Размещайте swap-файл на том же диске, что и /, если это SSD. На HDD – избегайте фрагментации (файл создаётся целиком, поэтому фрагментация минимальна).
  • Не используйте swap как замену ОЗУ. Если система постоянно свопится – добавьте оперативную память.
  • Для серверов с критичными требованиями к отзывчивости рассмотрите zram (сжатие в RAM) вместо дискового swap.