Odpowiedzi:
systemd-journal-flush.service
Pyta demona czasopism, aby wypłukać wszelkie dane zapisane w dzienniku / run / log / dzienniku w / var / log / dzienniku, jeżeli persistent
przechowywanie jest włączony. Jeśli masz (już) ogromne pliki dziennika, spowoduje to wolniejsze uruchamianie. Ponadto dysk (z /var/log
) musi być zamontowany w trybie zapisu.
Podsumowując: ogromne stare pliki dziennika, które są sprawdzane podczas rozruchu, a dołączanie nowych danych dziennika powoduje wolniejszy czas uruchamiania.
Aby sprawdzić typ rozmiaru dziennika Journalctl
journalctl --disk-usage
Aby uzyskać informacje o czasie i miejscu na dysku podczas przetwarzania opróżniania, wprowadź następujące polecenie
journalctl -b --unit systemd-journald
Odpowiednie wyjście będzie wyglądać
-- 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.
Wyłącz usługę (niezalecane)
Możliwe jest, że nie wszystkie dane dziennika zostaną zapisane na dysku; denerwujące podczas debugowania błędów rozruchu.
Użyj journalctl --vacuum
polecenia
Od journalctl -h
--vacuum-size = BYTES Zmniejsz użycie dysku poniżej określonego rozmiaru
--vacuum-files = INT Pozostaw tylko określoną liczbę plików dziennika
--vacuum-time = CZAS Usuń pliki dziennika starsze niż określony czas
Dlatego zrób
sudo journalctl --vacuum-size=1G --vacuum-time=5d --vacuum-files=5
Zmień typ przechowywania systemd-journal-flush.service
Najpierw sprawdź typ magazynu za pomocą
systemctl cat systemd-journal-flush.service | grep -i storage
Od man journald.conf
Storage =
Kontroluje, gdzie przechowywać dane dziennika. Jeden z „niestabilnych”, „trwałych”, „automatycznych” i „brak”.
Jeśli jest „ niestabilny ”, dane dziennika będą przechowywane tylko w pamięci, tj. Poniżej hierarchii / run / log / journal (która jest tworzona w razie potrzeby).
Jeśli „ trwałe ”, dane będą przechowywane najlepiej na dysku, tj. Poniżej hierarchii / var / log / journal (która jest tworzona w razie potrzeby), z możliwością powrotu do / run / log / journal (która jest tworzona w razie potrzeby), podczas wczesny rozruch i jeśli dysku nie można zapisać.
„ auto ” jest podobne do „trwałego”, ale katalog / var / log / journal nie jest tworzony w razie potrzeby, więc jego istnienie kontroluje, gdzie idą dane dziennika.
„ none ” wyłącza całą pamięć, wszystkie otrzymane dane dziennika zostaną usunięte. Przekazywanie do innych obiektów docelowych, takich jak konsola, bufor dziennika jądra lub gniazdo syslog będzie jednak nadal działać. Domyślnie „auto”.
Edytuj plik
sudo nano /etc/systemd/journald.conf
W sekcji czasopisma odkomentuj i zmień:
Storage=auto
SystemMaxFileSize=1G
SystemMaxFiles=5
Zapisz i uruchom ponownie.
Zgodnie z tym postem ze strony systemowej programisty można to naprawić, zmieniając plik Unit .
Aby to zrobić, otwórz /lib/systemd/system/systemd-journal-flush.service
np
sudo vim /lib/systemd/system/systemd-journal-flush.service
i zmień zależność Przed z
Before=systemd-user-sessions.service systemd-tmpfiles-setup.service
 do
 Before=systemd-tmpfiles-setup.service

Ta poprawka zostanie automatycznie zmieniona dla wersji systemowych>  v240.
Nie zapomnij zapisać pliku.