SystemdDoctor
systemd-analyze

systemd-analyze: проверка unit, разбор загрузки и расписаний

Набор инструментов для разбора: проверка unit-файлов, оценка изоляции службы, разбор календарных выражений, анализ времени загрузки, расшифровка кодов выхода.

Что делает

Это самый недооценённый инструмент systemd. verify разбирает unit-файл так же, как менеджер, и печатает претензии — быстрее, чем пытаться запустить. calendar проверяет расписание таймера. exit-status расшифровывает код выхода без поиска по таблицам.

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

Где ставится. Команда в терминале.

Значения

ЗначениеЧто происходит
systemd-analyze verify /путь/unitпроверка файла без запуска.
systemd-analyze calendar "Mon 03:00"разбор расписания и ближайшие срабатывания.
systemd-analyze exit-status 203имя и класс кода выхода.
systemd-analyze blameсколько запускался каждый unit.
systemd-analyze critical-chainцепочка, определившая время загрузки.
systemd-analyze security имяоценка изоляции службы.
systemd-analyze syscall-filter @system-serviceсостав набора системных вызовов.

Пример

Проверка unit-файла и расписания до запуска.

systemd-analyze verify /etc/systemd/system/backup.service
systemd-analyze calendar "*-*-* 03:00:00"
systemd-analyze exit-status 203 217 226

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

Типичные ошибки

verify не знает вашего окружения: существование файлов и пользователей он не проверяет.

Оценка изоляции в security условна: низкая оценка не означает, что служба небезопасна.

blame показывает длительность запуска, а не влияние на общее время: для второго есть critical-chain.

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

  • Unit file is bad и ошибки разбора unit-файлаsystemd не может разобрать unit-файл: неизвестные параметры, ошибки в секциях, недопустимые значения. Как найти проблемную строку.
  • Failed to parse calendar expression: ошибка в OnCalendarsystemd не разбирает календарное выражение таймера. Правила записи OnCalendar и проверка через systemd-analyze calendar.
  • status=244/BPF в systemdКод 244/BPF: не удалось применить ограничения через BPF, например RestrictFileSystems=. В man-странице systemd этот код указан неверно.

Рядом стоящие параметры

Источники

  • systemd-analyze(1) официальная документация
    сверено 15 сентября 2026
  • Воспроизведено на тестовой машине, systemd 255 (Ubuntu 24.04) собственная проверка
    сверено 15 сентября 2026