Назад | Перейти на главную страницу

Системные журналы systemd-journald не сохраняются при загрузке, несмотря на то, что Storage = persistent

Недавно у меня возникла проблема с тем, что systemd не сохраняет журналы предыдущих загрузок. Я проверил несколько ответов здесь и в других местах, но не нашел решения.

проблема в том, что журнал пользователя становится постоянным при загрузке, а системные журналы - нет.

/etc/systemd/journald.conf

[Journal]
Storage=persistent
SystemMaxUse=500M
SystemMaxFiles=5

journalctl -b -1

[root@2ba2de9e /var/log/journal] # journalctl --system -b -1
Data from the specified boot (-1) is not available: No such boot ID in journal

Я использую руку Archlinux на малиновом писе

версии 4.14.24-1-ARCH systemd 237.64-1 systemd-sysvcompat 237.64-1

Кто-нибудь знает, почему это происходит? на моем настольном компьютере это работает без проблем?

Возможно, journald удаляет старые журналы из-за нехватки места на диске. (Вы не упомянули, сколько времени после загрузки -b -1 не работает, поэтому я не знаю, есть ли у вас много журналов с текущей загрузки в то время.)

У тебя есть SystemMaxUse=500M настроен, но journald может решить использовать менее 500 МБ, если у вас не слишком много свободного места на диске. Также есть SystemKeepFree=... параметр, который по умолчанию составляет 15% от размера файловой системы (или 4 ГБ, в зависимости от того, что меньше), и journald будет применять это ограничение сильнее, чем то, сколько места вы позволяете. Если у вас есть /var/log/journal в тесном разделе, возможно, это может быть частью проблемы.

Вы можете использовать некоторые команды, чтобы проверить, сколько места использует journald, например:

$ journalctl --disk-usage

И вы, а также видите, сколько загрузок (а также их время и идентификаторы) знает journald с помощью:

$ journalctl --list-boots

Это также может помочь пролить свет на вашу проблему ...

Надеюсь, это поможет!