Respostas:
Ele systemd-journal-flush.service
solicita que o daemon do diário libere todos os dados de log armazenados em / run / log / journal em / var / log / journal, se o persistent
armazenamento estiver ativado. Caso você tenha (já) grandes arquivos de log, isso resultará em uma inicialização mais lenta. Além disso, o disco (com /var/log
) deve ser montado em um modo gravável para fazer isso.
Para resumir: enormes arquivos de log antigos, que são verificados durante a inicialização e o acréscimo de novos dados de log resulta em um tempo de inicialização mais lento.
Para verificar o tamanho do log do journalctl
journalctl --disk-usage
Para obter as informações de tempo e espaço em disco do processamento de liberação, digite o seguinte comando
journalctl -b --unit systemd-journald
A saída correspondente será semelhante a
-- 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.
Desativar o serviço (não recomendado)
É possível que nem todos os dados do log sejam gravados no disco; irritante ao depurar falhas de inicialização.
Use um journalctl --vacuum
comando
A partir de journalctl -h
--vacuum-size = BYTES Reduz o uso do disco abaixo do tamanho especificado
--vacuum-files = INT Deixa apenas o número especificado de arquivos de diário
--vacuum-time = TIME Remover arquivos de diário mais antigos que o tempo especificado
Portanto, faça um
sudo journalctl --vacuum-size=1G --vacuum-time=5d --vacuum-files=5
Alterar o tipo de armazenamento de systemd-journal-flush.service
Primeiro verifique seu tipo de armazenamento com
systemctl cat systemd-journal-flush.service | grep -i storage
A partir de man journald.conf
Armazenamento =
Controla onde armazenar os dados do diário. Um de "volátil", "persistente", "automático" e "nenhum".
Se " voláteis ", os dados do log do diário serão armazenados apenas na memória, ou seja, abaixo da hierarquia / run / log / journal (criada se necessário).
Se " persistente ", os dados serão armazenados preferencialmente em disco, ou seja, abaixo da hierarquia / var / log / journal (criada se necessário), com um fallback para / run / log / journal (criado se necessário), durante inicialização antecipada e se o disco não for gravável.
" auto " é semelhante a "persistente", mas o diretório / var / log / journal não é criado, se necessário, de modo que sua existência controla aonde os dados do log vão.
" none " desativa todo o armazenamento, todos os dados de log recebidos serão descartados. O encaminhamento para outros destinos, como o console, o buffer de log do kernel ou um soquete do syslog ainda funcionará. O padrão é "auto".
Edite o arquivo
sudo nano /etc/systemd/journald.conf
Na seção do diário, remova o comentário e altere:
Storage=auto
SystemMaxFileSize=1G
SystemMaxFiles=5
Salve e reinicie.
De acordo com este post da página inicial do desenvolvedor do systemd , você pode corrigi-lo alterando o arquivo da unidade .
Para fazer isso, abra /lib/systemd/system/systemd-journal-flush.service
, por exemplo
sudo vim /lib/systemd/system/systemd-journal-flush.service
e altere a dependência Antes de
Before=systemd-user-sessions.service systemd-tmpfiles-setup.service
 para
 Before=systemd-tmpfiles-setup.service

Essa correção será alterada automaticamente nas versões systemd>  v240.
Não esqueça de salvar o arquivo.