O que dispara o journald para liberar espaço, para cumprir SystemMaxUse, SystemKeepFree?

0

Quando faço uma atualização de software (atualização do Ubuntu) e por exemplo instalar novos kernels Linux, às vezes eu fico sem espaço, o que é uma coisa ruim. Isso é no Ubuntu Bionic 18.04, com o systemd, então o journald está instalado.

O Journald é configurado por padrão para preservar 15% do espaço na unidade para outros processos ( SystemKeepFree ) e usar um máximo de 10% do espaço ( SystemMaxUse ). Mas muitas vezes é sobre esses valores.

Então, o que desencadeia uma operação de aspiração?

Como podemos fazer isso para limpar rapidamente o espaço quando outra operação precisar?

Existe uma maneira de pesquisar no journald por ações de limpeza anteriores - elas estão registradas?

Observe que a capacidade do grep está ausente - por quê? (E veja erro do Ubuntu 1751657 )

$ journalctl --grep journald
Compiled without pattern matching support
    
por nealmcb 30.10.2018 / 16:02

1 resposta

1

Eu não sei porque está excedendo SystemMaxUse= , desculpe.

EDIT: em comentários, o @nealmcb endossa a resposta abaixo e sugere que o periódico estava excedendo apenas SystemKeepFree= , e não excedendo SystemMaxUse= .

How can we get it to quickly clean up space when another operation needs it?

Eu não acho que você pode confiar nisso em geral. SystemKeepFree= funciona de maneira menos confiável que SystemMaxUse= :

If the file system is nearly full and either SystemKeepFree= or RuntimeKeepFree= are violated when systemd-journald is started, the limit will be raised to the percentage that is actually free. This means that if there was enough free space before and journal files were created, and subsequently something else causes the file system to fill up, journald will stop using more space, but it will not be removing existing files to reduce the footprint again, either.

Se você alterar o arquivo de configuração em um sistema em execução, poderá fazer com que ele seja lido novamente executando systemctl restart systemd-journald

Você pode reduzir o espaço manualmente usando um dos comandos journalctl --vacuum... , como journalctl --vacuum-size=500M .

Parece haver código para fazer log-ups, mas nas versões recentes a prioridade da mensagem é definida como "debug". Presumivelmente, isso significa que as mensagens são suprimidas por padrão. Veja: O que fazer systemd "Vacuuming done , liberado 0 bytes "mensagens significam?

    
por 30.10.2018 / 17:48