SystemdDoctor
мешает работе загрузка разбор

Система загружается слишком долго

Долгая загрузка почти всегда объясняется двумя-тремя unit. Найти их можно точно, а не на глаз: systemd измеряет время каждого и умеет показать цепочку, которая определила общий результат.

Что это значит

Важно различать два показателя. Команда blame показывает, сколько запускался каждый unit — но долгий запуск в стороне от основной цепочки общее время не увеличивает. Команда critical-chain показывает именно цепочку ожиданий, и работать надо с ней.

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

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

  1. Служба ожидания сети ждёт таймаут

    Самая частая причина ровных задержек в десятки секунд: сеть не поднимается, а служба ждёт.

  2. Ожидание устройства или раздела

    Отсутствующий диск из fstab добавляет к загрузке минуты.

  3. Медленная служба в критической цепочке

    Служба, от которой зависят другие, задерживает всю загрузку на своё время запуска.

Диагностика

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

Общее время загрузки с разбивкой на ядро и пользовательское пространство.

systemd-analyze

Самые долгие unit.

systemd-analyze blame | head -15

Цепочка, определившая общее время.

systemd-analyze critical-chain

Наглядная схема загрузки: полезна, когда цепочка сложная.

systemd-analyze plot > /tmp/boot.svg

Решение

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

1. Служба ожидания сети ждёт таймаут
Почему происходит
Самая частая причина ровных задержек в десятки секунд: сеть не поднимается, а служба ждёт.
Как проверить
Посмотрите время запуска служб ожидания.
systemd-analyze blame | grep -i wait-online
systemctl status systemd-networkd-wait-online --no-pager | head -8
Как исправить
Настройте сеть или ограничьте ожидание конкретным интерфейсом и таймаутом. Отключать службу ожидания стоит только если ни одна служба не требует готовой сети.
2. Ожидание устройства или раздела
Почему происходит
Отсутствующий диск из fstab добавляет к загрузке минуты.
Как проверить
Посмотрите время монтирований.
systemd-analyze blame | grep -i mount | head
sudo findmnt --verify --verbose
Как исправить
Добавьте nofail и x-systemd.device-timeout= необязательным разделам.
3. Медленная служба в критической цепочке
Почему происходит
Служба, от которой зависят другие, задерживает всю загрузку на своё время запуска.
Как проверить
Посмотрите критическую цепочку.
systemd-analyze critical-chain
systemd-analyze blame | head -10
Как исправить
Ускорьте службу или уберите её из критического пути: часто достаточно заменить Requires= на Wants= и не держать очередь.

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

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

$ systemd-analyze
Startup finished in 4.512s (kernel) + 1min 32.104s (userspace) = 1min 36.616s

$ systemd-analyze blame | head -4
1min 30.002s systemd-networkd-wait-online.service
      1.402s snapd.service
      0.884s systemd-udev-settle.service

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

Источники

  • systemd-analyze(1)
    Команды blame, critical-chain, plot.
    официальная документация, systemd 255
    сверено 15 сентября 2026
  • Воспроизведено на тестовой машине, systemd 255 (Ubuntu 24.04)
    Проверено на машине с недоступной сетью: ожидание даёт ровно свой таймаут.
    собственная проверка, systemd 255
    сверено 15 сентября 2026