TGViewer
NetworkAdmin.ru NetworkAdmin.ru @networkadminru · 4.7K subscribers
Post #960 921
😩 systemd-analyze: почему сервер долго загружается и кто виноват

Иногда сервер после reboot поднимается подозрительно долго. Вроде железо нормальное, диск живой, сервисов не так много, но до нормального состояния система доходит через минуту, две или даже дольше.

В systemd для такого разбора есть удобная утилита:


systemd-analyze


Она покажет общее время загрузки:


Startup finished in 5.2s (kernel) + 28.4s (userspace) = 33.6s


Здесь видно, сколько заняло ядро и сколько - userspace, то есть запуск systemd-сервисов.

▪️ Чтобы понять, какие иниты запускались дольше всего:


systemd-analyze blame


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


12.834s docker.service
8.421s NetworkManager-wait-online.service
6.102s postgresql.service
3.451s nginx.service


Это хороший первый ориентир, но есть важный нюанс.

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

▪️ Для понимания цепочки зависимостей лучше использовать:


systemd-analyze critical-chain


Эта команда показывает критический путь загрузки - что действительно задерживало достижение нужного target.

▪️ Можно посмотреть цепочку для конкретного сервиса:


systemd-analyze critical-chain docker.service


▪️ Частые причины долгой загрузки:

ожидание сети
зависший mount из /etc/fstab
медленный DNS
NFS/SMB mount без `nofail`
долгий старт базы данных
Docker/container runtime
cloud-init
некорректные зависимости в юнитах
таймауты несуществующих устройств


▪️ Отдельно стоит проверить failed-юниты:


systemctl --failed


▪️ Логи текущей загрузки:


journalctl -b


Если проблема была на предыдущем boot:


journalctl -b -1


▪️ Еще полезная команда - построить SVG-график загрузки:


systemd-analyze plot > boot.svg


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

▪️ Для поиска ошибок в unit-файлах:


systemd-analyze verify /etc/systemd/system/myapp.service


Это помогает поймать неправильные директивы, опечатки и странности в конфигурации.

#linux #systemd

🧑‍💻 NetworkAdmin
  • 👍 7
  • ❤ 2
More from @networkadminru
  1. Sep 28, 2026🔎 TCP keepalive: как находить мертвые соединения до того, как они создадут проблему Иногд…
  2. Sep 25, 2026🤩 Как расшифровать код ошибки Windows через certutil При установке обновлений Windows ран…
  3. Sep 23, 2026💻 Как жестко перезагрузить linux, когда обычный reboot уже не помогает Иногда сервер зави…
  4. Sep 22, 2026🌚 watch: простая динамическая диагностика в терминале Иногда не нужен отдельный мониторин…
  5. Sep 21, 2026👌 Firewall default deny: как внедрять без внезапного отрезания доступа Идея простая: разр…
  6. Sep 18, 2026🖥 Windows зависла на "Подготовке Windows": как проверить состояние удаленно Типичная ситу…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →