Ответы:
При systemd-journal-flush.service
запросе демон журнала сбрасывает все данные журнала, хранящиеся в / run / log / journal, в / var / log / journal, если persistent
хранилище включено. Если у вас есть (уже) огромные файлы журнала, это приведет к более медленной загрузке. Кроме того, диск (с /var/log
) должен быть смонтирован в режиме записи для этого.
Подводя итог: огромные старые файлы журналов, которые проверяются во время загрузки, и добавление новых данных журнала приводит к более медленному времени загрузки.
Чтобы проверить размер журнала journalctl
journalctl --disk-usage
Чтобы получить информацию о времени и месте на диске для очистки, введите следующую команду
journalctl -b --unit systemd-journald
Соответствующий вывод будет выглядеть
-- Logs begin at Sat 2018-12-08 00:40:23 CET, end at Mon 2018-12-10 19:40:27 CET. --
Dec 10 12:51:38 ubuntu01 systemd-journald[479]: Journal started
Dec 10 12:51:38 ubuntu01 systemd-journald[479]: Runtime journal (/run/log/journal/265c93c062bf4c8da41abfe2ae793452) is 4.7M, max 38.3M, 33.5M free.
Dec 10 12:51:38 ubuntu01 systemd-journald[479]: Time spent on flushing to /var is 7.066904s for 132 entries.
Dec 10 12:51:38 ubuntu01 systemd-journald[479]: System journal (/var/log/journal/265c93c062bf4c8da41abfe2ae793452) is 128.0M, max 256.0M, 128M free.
Отключить службу (не рекомендуется)
Тогда возможно, что не все данные журнала записываются на диск; раздражает при отладке ошибок загрузки.
Используйте journalctl --vacuum
команду
Из journalctl -h
--vacuum-size = BYTES Уменьшить использование диска ниже указанного размера
--vacuum-files = INT Оставить только указанное количество файлов журнала
--vacuum-time = TIME Удалить файлы журнала старше указанного времени
Следовательно, сделайте
sudo journalctl --vacuum-size=1G --vacuum-time=5d --vacuum-files=5
Изменить тип хранения systemd-journal-flush.service
Сначала проверьте ваш тип хранения с
systemctl cat systemd-journal-flush.service | grep -i storage
Из man journald.conf
Хранение =
Управляет местом хранения данных журнала. Один из "volatile", "persistent", "auto" и "none".
Если указано значение « volatile », данные журнала будут храниться только в памяти, то есть ниже иерархии / run / log / journal (которая создается при необходимости).
Если « постоянный », данные будут храниться предпочтительно на диске, то есть ниже иерархии / var / log / journal (которая создается при необходимости), с откатом на / run / log / journal (которая создается при необходимости), во время ранняя загрузка и если диск не доступен для записи.
« auto » похоже на «persistent», но каталог / var / log / journal не создается при необходимости, так что его существование контролирует, куда попадают данные журнала.
« none » отключает все хранилище, все полученные данные журнала будут удалены. Пересылка на другие цели, такие как консоль, буфер журнала ядра или сокет системного журнала, все равно будет работать. По умолчанию установлено значение «Авто».
Редактировать файл
sudo nano /etc/systemd/journald.conf
В разделе журнала раскомментируйте и измените:
Storage=auto
SystemMaxFileSize=1G
SystemMaxFiles=5
Сохранить и перезагрузить.
Согласно этому сообщению с домашней страницы разработчика systemd , вы можете исправить это, изменив файл модуля .
Для этого откройте /lib/systemd/system/systemd-journal-flush.service
, например,
sudo vim /lib/systemd/system/systemd-journal-flush.service
и изменить Перед зависимости от
Before=systemd-user-sessions.service systemd-tmpfiles-setup.service
 к
 Before=systemd-tmpfiles-setup.service

Это исправление будет автоматически изменено для версий systemd> 2 v240.
Не забудьте сохранить файл.