Größe des Journals von systemd begrenzen
(Update 24.7.2016)

Posted on Sunday, 12 October 2014 in Linux
Last modified on 24 July 2016

Wenn man die Größe seiner root-Partition beschränkt, ist Speicherplatz kostbar. Umso genauer habe ich hingeschaut, als ich den freien Speicherplatz auf meiner root-Partition langsam aber stetig dahinschmelzen sah. So nahm das Verzeichnis /var/log/journal/* zwischenzeitlich über 1,5 GB an Speicher ein. systemd bringt sein eigenes Logging-System mit, das Journal genannt wird, und mit journalctl gesteuert werden kann. In der Standardkonfiguration kann das Journal bis zu 10% der root-Partition belegen, aber maximal 4 GB, weswegen es sinnvoll sein kann, dessen Größe zu begrenzen. So sind teilweise Monate alte Journal-Einträge vorhanden, die garantiert nicht mehr verwendet werden.

Mit dem Behfel

journalctl --disk-usage

kann man überprüfen, wie viel Speicherplatz vom Journal eingenommen wird. Alternativ kann man sich die Größe auch mit einem du -sh /var/log/journal anzeigen lassen.

Um die Größe zu begrenzen, kann man in der Konfigurationsdatei /etc/systemd/journald.conf den Kommentar vor der Zeile mit SystemMaxUse= entfernen und die Maximalgröße angeben, z. B.

SystemMaxUse=50M

wenn nur 50 MB verwendet werden sollen. Ich habe für mich selbst mal 150M eingestellt, damit mehr Log-Einträge da bleiben, um zur Not mehr Informationen zu haben, die bisschen weiter zurück liegen, falls es mal gebracuht werden könnte. Immerhin spiele ich gerne mal an meinen Konfigurationen rum.

[Update vom 24.7.2016]

Es ist auch möglich, die Konfiguration des Journals zu ändern, ohne die globale Konfiguration unter /etc/systemd/journald.conf zu verändern. So kann man sich eine eigene Konfigurationsdatei /etc/systemd/journald.conf.d/00-journal-size.conf anlegen, womit globale Einstellungen überschrieben werden:

[Journal]
SystemMaxUse=50M

Wichtig dabei ist zu beachten, dass die Einstellungen unterhalb des [Journal] Abschnitts stehen, da ohne diese Kennzeichnung die Einstellungen ignoriert werden. Das Verzeichnis /etc/systemd/journald.conf.d muss dabei in der Regel erst noch angelegt werden.