
Tenho um sistema rodando CentOS 7, com mais de 1T de espaço livre em disco. A versão do systemd é 219. Configurei o journald com as seguintes configurações:
Storage=persistent
SplitMode=none
SystemMaxUse=50G
SystemMaxFileSize=1G
#MaxFileSec=1month (default)
No entanto, os arquivos de diário resultantes são menores que 1G e são cortados em cerca de 500M, como pode ser visto nesta captura de tela.
Estou fazendo testes intensos no sistema, o log é preenchido com mais de 1G por dia, então não é o MaxFileSec que está entrando em ação. Notei que o id do grupo difere para os arquivos, talvez isso seja uma pista. No entanto, como pode ser visto pelos carimbos de data/hora na captura de tela, os dois arquivos de log no topo não parecem mais estar preenchidos.
Minha pergunta é: por que o tamanho dos arquivos de diário não está atingindo o 1G configurado?
Editar: Nomes de parâmetros corrigidos conforme apontado por Mark abaixo, mas estavam corretos no sistema.
Responder1
Nada nos documentos man journald.conf
promete tornar os arquivos de log tão grandes quanto SystemMaxFileSize=
. Os documentos apenas prometem não ultrapassar esse limite.
De uma leitura amadora doCódigo-fonte C, minha interpretação é que existe um "tamanho mínimo de arquivo", mas é de apenas 512k, então isso não deveria estar em jogo aqui. Há também "FILE_SIZE_INCREASE", que está relacionado à alocação de crescimento incremental de arquivos. Minha leitura é esperar que o tamanho do arquivo cresça dentro de 8 MB do SystemMaxFileSize antes que a rotação aconteça.
Se você pesquisar em toda a systemd
árvore de origem SystemMaxFileSize
, descobrirá que ela é traduzida na variável "max_size" no arquivo ".c" vinculado acima.
Como os documentos não responderam totalmente à pergunta, a leitura do código-fonte relacionado pode fornecer uma visão mais completa do comportamento que você estava procurando.