SystemdDoctor

Подкачка включается не та или не в том порядке

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

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

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

  1. Приоритеты не заданы

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

  2. Часть разделов подкачки не активирована

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

  3. Подкачка на сетевом или съёмном носителе

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

Диагностика

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

Активные разделы подкачки, их размер, использование и приоритет.

swapon --show=NAME,TYPE,SIZE,USED,PRIO

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

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

Описание разделов подкачки и их параметры.

grep -E "\sswap\s" /etc/fstab

Решение

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

1. Приоритеты не заданы
Почему происходит
При равных приоритетах ядро использует разделы одновременно. Быстрый и медленный диск получают одинаковую нагрузку, и подкачка работает со скоростью медленного.
Как проверить
Посмотрите активную подкачку и приоритеты.
swapon --show=NAME,TYPE,SIZE,USED,PRIO
grep -E "\sswap\s" /etc/fstab
Как исправить
Задайте приоритеты явно в параметрах: выше значение — раньше используется. Быстрому носителю стоит дать больший приоритет.
2. Часть разделов подкачки не активирована
Почему происходит
Unit подкачки может быть в состоянии сбоя, а остальная система работать. Доступный объём оказывается меньше ожидаемого.
Как проверить
Посмотрите unit подкачки и их состояние.
systemctl list-units --type=swap --all --no-legend
swapon --show
Как исправить
Разберите отказ конкретного unit подкачки. Несовпадение идентификатора устройства — самая частая причина.
3. Подкачка на сетевом или съёмном носителе
Почему происходит
Подкачка на ненадёжном носителе означает зависание системы при его недоступности. Ядро не может продолжать без страниц.
Как проверить
Посмотрите, где находятся разделы подкачки.
swapon --show=NAME,TYPE; lsblk -o NAME,TRAN,MOUNTPOINT | head
Как исправить
Держите подкачку только на локальных надёжных носителях. Отказ носителя с подкачкой приводит к зависанию, а не к ошибке.

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

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

$ swapon --show=NAME,TYPE,SIZE,USED,PRIO
NAME      TYPE      SIZE USED PRIO
/dev/sdb2 partition   4G 1.2G   -2
/dev/sdc1 partition   4G 1.2G   -3

systemd[1]: Activated swap /dev/sdb2.
systemd[1]: Activated swap /dev/sdc1.

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

Источники

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