IT
IT-Konsult
ИТ‑аутсорсинг для бизнеса

База знаний / Серверы 1 мин

systemd на практике: логи, автозапуск и разбор падений сервисов

Как быстро понять, почему сервис «упал»: journalctl, unit‑файлы, рестарты и health‑checks.

Быстрый старт диагностики

  1. systemctl status service-name
  2. journalctl -u service-name -n 200 --no-pager
  3. Проверить последние рестарты: systemctl show -p NRestarts service-name

Типовые причины падений

  • Не хватает прав/доступа к файлам (user/group, SELinux/AppArmor).
  • Порт занят или сервис стартует раньше зависимостей.
  • Нехватка памяти (OOM) — проверяйте dmesg и метрики RAM.
  • Долгий старт: увеличьте TimeoutStartSec.

Рекомендованные настройки unit

  • Restart=on-failure + RestartSec=3
  • Явные зависимости: After=network-online.target
  • Жёсткие лимиты там, где уместно: MemoryMax, CPUQuota

Шпаргалка команд

systemctl daemon-reload
systemctl restart service-name
journalctl -u service-name --since "1 hour ago" --no-pager
journalctl -xe --no-pager