Risposte:
La systemd-journal-flush.service
chiede il demone rivista per irrigare i dati di log memorizzati in / run / log / journal in / var / log / rivista, se persistent
lo stoccaggio è abilitato. Nel caso in cui si disponga (già) di enormi file di registro, questo si tradurrà in un avvio più lento. Inoltre il disco (con /var/log
) deve essere montato in un modo scrivibile per farlo.
Per riassumere: enormi vecchi file di registro, che vengono controllati durante l'avvio e l'aggiunta di nuovi dati di registro comporta tempi di avvio più lenti.
Per verificare il tipo di dimensione del registro journalctl
journalctl --disk-usage
Per ottenere le informazioni sul tempo e sullo spazio su disco dell'elaborazione a livello, immettere il comando seguente
journalctl -b --unit systemd-journald
L'output corrispondente sarà simile
-- 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.
Disabilita il servizio (non raccomandato)
Quindi è possibile che non tutti i dati di registro vengano scritti sul disco; fastidioso durante il debug degli errori di avvio.
Usa un journalctl --vacuum
comando
A partire dal journalctl -h
--vacuum-size = BYTES Riduce l'utilizzo del disco al di sotto della dimensione specificata
--vacuum-files = INT Lascia solo il numero specificato di file journal
--vacuum-time = TIME Rimuovi i file journal più vecchi del tempo specificato
Quindi fare un
sudo journalctl --vacuum-size=1G --vacuum-time=5d --vacuum-files=5
Cambia il tipo di archiviazione di systemd-journal-flush.service
Prima controlla il tuo tipo di archiviazione con
systemctl cat systemd-journal-flush.service | grep -i storage
A partire dal man journald.conf
= bagagli
Controlla dove archiviare i dati del journal. Uno di "volatile", "persistente", "auto" e "nessuno".
Se " volatile ", i dati del registro journal verranno archiviati solo in memoria, ovvero sotto la gerarchia / run / log / journal (che viene creata se necessario).
Se " persistente ", i dati verranno archiviati preferibilmente su disco, ovvero al di sotto della gerarchia / var / log / journal (che viene creata se necessario), con un fallback a / run / log / journal (che viene creato se necessario), durante avvio anticipato e se il disco non è scrivibile.
" auto " è simile a "persistente" ma la directory / var / log / journal non viene creata se necessario, quindi la sua esistenza controlla dove vanno i dati di registro.
" none " disattiva tutta la memoria, tutti i dati di registro ricevuti verranno eliminati. Tuttavia, l'inoltro ad altre destinazioni, come la console, il buffer di registro del kernel o un socket syslog funzionerà comunque. L'impostazione predefinita è "auto".
Modifica il file
sudo nano /etc/systemd/journald.conf
Nella sezione journal decommenta e modifica:
Storage=auto
SystemMaxFileSize=1G
SystemMaxFiles=5
Salva e riavvia.
Secondo questo post dalla homepage dello sviluppatore di systemd , puoi risolverlo cambiando il file Unit .
Per fare ciò, aprire /lib/systemd/system/systemd-journal-flush.service
, ad es
sudo vim /lib/systemd/system/systemd-journal-flush.service
e modificare la dipendenza Prima da
Before=systemd-user-sessions.service systemd-tmpfiles-setup.service
 a
 Before=systemd-tmpfiles-setup.service

Questa correzione verrà automaticamente modificata per le versioni di systemd>  v240.
Non dimenticare di salvare il file.