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:


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


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


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 *