Por que “journalctl --disk-usage” e “journalctl | wc ”não corresponde bem?

2

TL; DR como é que o journald armazena cerca de 770 MiB enquanto exibe os logs apenas produz 90MiB de dados?

#UPDATE # Eu fiz um journalctl -a -o verbose que pelo menos rendeu uns 530MiB, mas menos que os 770MiB que a revista usa em disco. De qualquer forma eu teria esperado que o diário no disco fosse comprimido em algum tipo, e deveria ser menor que o 530MiB e não maior em vez disso. o que está acontecendo?

# UPDATE2 #

Parece que journald tem uma tendência para criar principalmente arquivos de diário vazios.

$> cat [email protected]~ | wc -c
8388608
#> cat [email protected]~ | sed 's/\x00//g' | wc -c
47181

que pode ser o que o comentário de @Mioriin sugere. Existe alguma razão pela qual existem 8MiB, mas arquivos de diário quase empy mantidos pelo journald?

versão longa com histórico

Meu sistema é bastante tagarela, com saída kernel kernel dmesg, gnome DE, etc. - preenchendo meu diretório /var/log via logger do sistema journald que infelizmente uso (sendo ainda um systemd arch linux padrão).

Eu olhei via du -hs /var/log e achei aproximadamente 2GiB com a maioria sendo de journald journals. Removi os dados com mais de 90 dias por journalctl --vacuum-time=90d e, infelizmente, com registros de sacrfificação anteriores a ~ 3 meses reduzi o espaço em disco usado para os journald logs para apenas cerca de 770MiB, conforme verificado via

$> journalctl --disk-usage 
Archived and active journals take up 768.0M in the file system.

o que é ótimo. No entanto 770MiB de dados por 90 dias no meu arco linux caixa parece um pouco, então eu tentei investigar para ver o que para o 770MiB são usados para. Eu fiz o primeiro passo lógico para medir o tamanho inicial da saída de log via

$> journalctl | wc
584467 7662317 90227741

e para verificar novamente

$ journalctl | dd of=/dev/null iflag=fullblock bs=1M
86+1 records in
86+1 records out
90244229 bytes (90 MB, 86 MiB) copied, 9.21893 s, 9.8 MB/s

mostrando que, por algum motivo, a leitura do "espaço para gravação binária porque" journald em texto simples não está gerando alguns < 770 MiB de dados, mas em vez disso, é apenas 90 MiB.

Agora, minha pergunta é sobre por que essas duas figuras não correspondem? Como pode meu amado journald , acabar usando 770MiB para armazenar essencialmente 90MiB de dados?

O que, ao lado de "meuring e confuso sobre o resultado", eu fiz para me ajudar?

Eu folheei o longo man journactl , mas estou claramente perdido com a complexidade e os detalhes que ele oferece, mas não consegui encontrar uma dica sobre o que poderia causar a contra-intuitiva coisa que o jornal binário comprimido. os dados usam mais espaço do que o registro reproduzido em texto simples.

Eu acho que deveria haver uma explicação "fácil".

    
por humanityANDpeace 13.08.2018 / 12:08

0 respostas