SystemdDoctor
мешает работе подкачка память

Подкачка не подключается: swap-unit в состоянии failed

Подкачка в systemd тоже unit. Если он в состоянии failed, подкачка не подключена: обычно неверный UUID в fstab, отсутствующий файл или файл, созданный неподходящим способом.

Вероятные причины

По порядку: сверху то, что встречается чаще.

  1. Раздел или файл подкачки не найден

    UUID сменился после переустановки, файл удалён при очистке диска. Запись в fstab осталась прежней.

  2. Файл подкачки создан с дырами

    Файл, созданный командой быстрого выделения, содержит дыры, и ядро отказывается использовать его как подкачку.

  3. Права на файл подкачки слишком широкие

    Ядро требует права 0600: иначе содержимое памяти оказалось бы доступно другим пользователям.

Диагностика

Команды идут в том порядке, в котором их стоит выполнять: каждая следующая проверяет то, что осталось после предыдущей.

Что подключено фактически.

swapon --show

Состояния unit подкачки.

systemctl list-units --type=swap --all --no-pager

Сообщения ядра о подкачке.

journalctl -k -b --no-pager | grep -i swap

Решение

Решение своё для каждой причины. Сначала определите, какая из них ваша, — иначе правки наложатся друг на друга.

1. Раздел или файл подкачки не найден
Почему происходит
UUID сменился после переустановки, файл удалён при очистке диска. Запись в fstab осталась прежней.
Как проверить
Посмотрите записи и фактическую подкачку.
swapon --show
grep -i swap /etc/fstab
lsblk -o NAME,FSTYPE,UUID | grep -i swap
Как исправить
Исправьте UUID или путь. Для файла подкачки проверьте, что он существует и имеет права 0600.
2. Файл подкачки создан с дырами
Почему происходит
Файл, созданный командой быстрого выделения, содержит дыры, и ядро отказывается использовать его как подкачку.
Как проверить
Посмотрите сообщение ядра.
journalctl -k -b --no-pager | grep -i swap | tail -5
Как исправить
Создайте файл сплошной записью или средствами, гарантирующими выделение блоков, затем разметьте и подключите.
sudo fallocate -l 2G /swapfile || sudo dd if=/dev/zero of=/swapfile bs=1M count=2048
sudo chmod 600 /swapfile && sudo mkswap /swapfile && sudo swapon /swapfile
3. Права на файл подкачки слишком широкие
Почему происходит
Ядро требует права 0600: иначе содержимое памяти оказалось бы доступно другим пользователям.
Как проверить
Посмотрите права.
ls -l /swapfile
Как исправить
Установите права 0600 и владельца root, затем подключите подкачку заново.

Пример вывода

Файл подкачки с широкими правами. Пример показательный: он собран на тестовой машине специально для этой страницы, а не взят из чужого журнала.

× swapfile.swap - /swapfile
     Active: failed (Result: exit-code)

swapon[1100]: swapon: /swapfile: insecure permissions 0644, 0600 suggested.
swapon[1100]: swapon: /swapfile: swapon failed: Invalid argument

Связанные ошибки

Источники

  • systemd.swap(5)
    Unit подкачки и их создание из fstab.
    официальная документация, systemd 255
    сверено 15 сентября 2026
  • Воспроизведено на тестовой машине, systemd 255 (Ubuntu 24.04)
    Воспроизведено файлом подкачки с правами 0644.
    собственная проверка, systemd 255
    сверено 15 сентября 2026