SystemdDoctor
systemd-journald.service журнал

systemd-journald: разбор проблем с журналом

Журнал — первый инструмент разбора любого сбоя, поэтому проблемы самого журнала обходятся дорого: записей нет там, где их ищут. Три главные ловушки — журнал только в памяти, исчерпанный предел размера и отброшенные по ограничению частоты записи.

О службе

Служба принимает записи из четырёх источников: потоки вывода служб, сокет системного журнала, сообщения ядра и собственный сокет журнала. Всё складывается в двоичные файлы с индексами, поэтому поиск по полям (_SYSTEMD_UNIT, _PID, приоритет) работает быстро, а не перебором строк. Расплата — файлы нельзя читать обычными средствами для текста.

Хранение зависит от наличия каталога /var/log/journal. Если каталога нет, записи живут в /run и исчезают при перезагрузке — именно поэтому после сбоя с перезагрузкой разбирать бывает нечего. Режим задаётся параметром Storage= в настройках журнала: значение persistent создаёт каталог само.

Объём ограничен долей раздела, а частота записей — пределом на источник. Оба ограничения молча теряют данные: при исчерпании размера удаляются старые файлы, при превышении частоты отбрасываются новые записи с пометкой о числе отброшенных. Оба случая надо уметь замечать: иначе разбор идёт по неполной картине.

Как устроена

Постоянное хранениекаталог /var/log/journal — есть он, есть и журнал после перезагрузки
Временное хранение/run/log/journal, очищается при каждой загрузке
Предел объёма по умолчаниюдесятая часть раздела, но не более 4 ГБ
Проверка целостностиjournalctl --verify
Обрезкаjournalctl --vacuum-size= и --vacuum-time=; активный файл не удаляется
Кто читает системный журналroot и члены групп systemd-journal и adm

Частые ошибки

12 записей базы отмечены за этой службой.

Конфигурация unit

Сообщения журнала

Коды выхода этой службы

Числа в status=N ниже 200 назначает сама программа, 200 и выше — systemd, когда не смог подготовить запуск.

statusЧто означает у этой службыКуда смотреть
0/SUCCESS штатное завершение при перезапуске службы; журнал переоткрывает файлы. разбор
1/FAILURE обычно ошибка в настройках журнала: неверное значение параметра. Проверяется просмотром итоговых настроек. разбор

Диагностика

Сколько места занимает журнал прямо сейчас.

journalctl --disk-usage

Итоговые настройки журнала со всеми переопределениями.

systemd-analyze cat-config systemd/journald.conf

Проверка целостности файлов журнала.

journalctl --verify

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

journalctl --list-boots

Были ли отброшены записи по ограничению частоты.

journalctl -b --no-pager | grep -i suppressed | tail

Параметры unit, которые тут важны

  • StandardOutput=куда идёт вывод службы: `journal` по умолчанию, `null` прячет всё
  • LogLevelMax=обрезает уровень записей на входе — легко спрятать собственные ошибки

Частые вопросы

Почему journalctl -b -1 ничего не показывает?

Скорее всего журнал не постоянный: записи прошлых загрузок не сохраняются. Проверяется наличием каталога /var/log/journal и командой journalctl --list-boots.

Можно ли удалить файлы журнала вручную?

Лучше использовать обрезку: journalctl --vacuum-size= или --vacuum-time=. Удаление файлов активной службы оставляет занятые описатели, и место не освобождается до перезапуска службы журнала.

Почему обычный пользователь не видит записи служб?

Системный журнал читают root и члены групп systemd-journal и adm. Без членства видны только собственные записи пользователя.

Источники

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