Managing systemd-journald disk usage

This is the first blog post of a series talking about systemd. This serie will shows some useful commands for common scenarios.

This post is about managing the disk space used by journald.

systemd-journald is the systemd component who takes care of logging all system and unit’s messages. It typically stores its files in /var/log/journal/<id>/ , where your <id> is something like d705e54557314d359c077214ebf789d6.

Go and check how much space it is used there:

journalctl --disk-usage

Last time i checked on my Fedora notebook running with default configuration it was around 4GB: quite a lot of space for a notebook with a small SSD disk like mine.

So, I edited /etc/systemd/journald.conf and added the following line:

SystemMaxUse=500M

which basically says that log in general shouldn’t use more than 500 MBytes. Allowed units are K for KBytes, M for MBytes, G for GBytes.

If you prefer to limit your log by defining how many days (or weeks, or month) you wish to retain, you could use the variable MaxRetentionSec

MaxRetentionSec=15day

Other valid units are year, month, week, day, h or m.

Once you edited the configuration file, to apply your new settings issue a

systemctl restart systemd-journald

If you are fine with your default setup, and just need to free some space because you are in an emergency, you can use the commands:

journalctl --vacuum-time=2d

or

journalctl --vacuum-size=500M

which have immediate effects and won’t change your systemd-journald configuration.

For many more options, as always, take a look at the man page!

man journald.conf

Leave a Reply

Your email address will not be published. Required fields are marked *

What is 5 + 2 ?
Please leave these two fields as-is:
IMPORTANT! To be able to proceed, you need to solve the following simple math (so we know that you are a human) :-)