Workstation working group discussed this at a recent meeting, and
reached no decision. There's general agreement that a time based
limitation should apply rather than disk usage limit, to make the
retention more predictable. I think this can work by default for all
Fedora editions and spins. Consider this a pre-change proposal for
Summary of the current behaviors:
* Fedora Server, minimally configured from out of the box, the current
4G limit translates into ~60 months of journal retention.
* Fedora Workstation, out of the box, the same 4G limit translates
into ~12 months of journal retention.
* In practice, max used space retention limit has a large range of
implied retention time, depending on the configuration.
* rsyslog+logrotate are in editions and spins using @standard, which
is pretty much all except Workstation edition. Logrotate's default
policy is a 4 week retention before logs are purged. This is also used
at least since RHEL 7 with the same default.
About journald.conf's MaxRetentionSec= "This controls whether
journal files containing entries older than the specified time span
are deleted." That is, once a journal file contains an entry older
than the specified time, the entire file is purged.
Journal files can grow up to 128M, however MaxFileSec= defaults to 1
month, so a journal file shouldn't contain more than one month of
entries. A single change to 'MaxRetentionSec=6month' combined with
other existing defaults, means a max of 5-6 months of journal entries.
To get systemd-journald more like the rsyslog+logrotate default,
'MaxRetentionSec=5week' and 'MaxFileSec=1week'. That would permit a
float of 4-5 weeks, tending to be closer to 4 weeks.
My take is that probably most folks are a bit surprised by the
logrotate 4 week default, and prefer a longer retention time. And yet
they still want something more consistent and shorter than the present
defaults. While there are other possibilities, 6 months is both more
consistent and shorter than today, and longer than the 4 week
Per the language in man pages, my working assumption is all Max limits
are in effect. If any Max value is busted, vacuuming is triggered. If
anyone knows differently, now would be a good time to know!