
Ich habe ein System mit CentOS 7 und mehr als 1 TB freiem Speicherplatz. Die Systemd-Version ist 219. Ich habe Journald mit den folgenden Einstellungen konfiguriert:
Storage=persistent
SplitMode=none
SystemMaxUse=50G
SystemMaxFileSize=1G
#MaxFileSec=1month (default)
Allerdings sind die resultierenden Journaldateien kleiner als 1 GB, sie werden auf etwa 500 MB gekürzt, wie in diesem Screenshot zu sehen ist.
Ich teste das System intensiv, das Protokoll wird mit mehr als 1 GB pro Tag gefüllt, es liegt also nicht an MaxFileSec. Mir ist aufgefallen, dass die Gruppen-ID für die Dateien unterschiedlich ist, vielleicht ist das ein Hinweis. Wie man jedoch an den Zeitstempeln im Screenshot sieht, scheinen die beiden oberen Protokolldateien nicht mehr gefüllt zu sein.
Meine Frage ist, warum die Größe der Journaldateien nicht das konfigurierte 1 GB erreicht?
Bearbeiten: Parameternamen korrigiert, wie von Mark unten angemerkt, auf dem System waren sie jedoch korrekt.
Antwort1
In den Dokumenten wird nicht man journald.conf
versprochen, dass die Protokolldateien so groß wie werden SystemMaxFileSize=
. In den Dokumenten wird lediglich versprochen, dass diese Grenze nicht überschritten wird.
Aus einer Laienlesung desC Quellcode, meine Interpretation ist, dass es eine „Mindestdateigröße“ gibt, die aber nur 512 KB beträgt, also sollte das hier keine Rolle spielen. Es gibt auch „FILE_SIZE_INCREASE“, das mit der Zuweisung inkrementellen Dateiwachstums zusammenhängt. Meiner Interpretation nach ist damit zu rechnen, dass die Dateigröße innerhalb von 8 MB der SystemMaxFileSize wächst, bevor eine Rotation stattfindet.
Wenn Sie den gesamten systemd
Quellbaum nach durchsuchen SystemMaxFileSize
, werden Sie feststellen, dass es in die Variable „max_size“ in der oben verlinkten „.c“-Datei übersetzt wird.
Da die Frage in den Dokumenten nicht vollständig beantwortet wurde, erhalten Sie durch das Lesen des zugehörigen Quellcodes möglicherweise einen umfassenderen Einblick in das gesuchte Verhalten.