[systemd-devel] Confusing journal information - journal size
David Sommerseth
davids at redhat.com
Mon Jul 20 08:29:22 PDT 2015
On 20/07/15 15:31, Anne Mulhern wrote:
> ----- Original Message -----
>> From: "Colin Guthrie" <gmane at colin.guthr.ie>
>> To: systemd-devel at lists.freedesktop.org
>> Sent: Monday, July 20, 2015 5:38:38 AM
>> Subject: Re: [systemd-devel] Confusing journal information - journal size
>>
>> David Sommerseth wrote on 17/07/15 14:28:
>>> On 17/07/15 13:31, Mantas Mikulėnas wrote:
>>>> On Fri, Jul 17, 2015 at 2:13 PM, David Sommerseth <davids at redhat.com
>>>> <mailto:davids at redhat.com>> wrote:
>>>>
>>>>
>>>> Hi,
>>>>
>>>> I'm looking through some journals now, and even though I've seen it a
>>>> few times I haven't thought about it until now.
>>>>
>>>> systemd-journal[1151]: Runtime journal is using 8.0M (max allowed
>>>> 4.0G, trying to leave 4.0G free of 63.7G available →
>>>> current limit 4.0G).
>>>>
>>>> Could this line be cleaned up so you don't have to look up a man page
>>>> to
>>>> try to figure out what this really means? Here's my uneducated guess
>>>> and confusion of this line:
>>>>
>>>> * Runtime journal is using 8.0M
>>>> - Okay, so currently the journal uses 8MB of disk-space. No
>>>> problem.
>>>>
>>>> * max allowed 4.0G
>>>> - Okay, so the journal should not grow beyond 4GB, makes sense. No
>>>> problem.
>>>>
>>>> * trying to leave 4.0G free of 63.7G available
>>>> - Uhm, what!? So it will grow until there is 4GB left on the
>>>> filesystem? Not so okay.
>>>>
>>>>
>>>> It chooses the /smallest/ limit, not largest. (Common sense...) For
>>>> example, if you had only 5 GB space available, the journal would not
>>>> grow beyond 1 GB.
>>>>
>>>>
>>>> * current limit 4.0G
>>>> - Ehh ... okay ... so make up your mind, please! So will the
>>>> journal grow until 4GB or 59.7GB.
>>>>
>>>>
>>>> This *is* it making up its mind: "min(limit 1, limit 2) → resulting limit"
>>>>
>>>> But then I looked into /var/log/journal ...
>>>>
>>>> # du --si -s /var/log/journal/
>>>> 4.3G /var/log/journal/
>>>>
>>>> I do see that both system,journal and user-UID.journal are both 8.4MB,
>>>> and from that I can guess what the log entry tried to tell me with
>>>> "Runtime journal" ... but how is /that/ information useful for me,
>>>> from
>>>> a sys-admin point of view?
>>>>
>>>>
>>>> "Runtime" here means /run, as opposed to persistent in /var. They have
>>>> separately configurable limits, since /run is in RAM and /var is usually
>>>> on disk. (Though, I'm not entirely sure what purpose the runtime journal
>>>> even serves, when /var is available.)
>>>
>>> Fair enough. But you are missing my point.
>>>
>>> How this information is presented do require some detail knowledge of
>>> the journal. Don't think like a developer who have poked at the journal
>>> code. Think like a sys-admin who looks through the logs looking for
>>> issues. Then you want to have the answer straight in your face, not
>>> needing to go elsewhere to read about these things. In fact most admins
>>> will probably have forgotten what they were going to look for when they
>>> move their eyes of the log data.
>>>
>>> If it is considered important information, fine. But present it in a
>>> far more understandable way for those who just uses the journal. Right
>>> now, I'm not surprised if most sys-admins read that line as useless
>>> gibberish - "Yeah, yeah, journal will waste some space on my drive".
>>
>> Yeah, I can't disagree with David. Not sure how best to tidy it up, but
>> some rework would definitely be nice.
>>
>> Col
>>
>
> After seeing the explanation, the best complete and correct (AFAICT) formulation I could come up with was,
>
> "Runtime journal is using 8.0M (max allowed = min(4.0G, S s.t. total memory(63.7 G) - S = 4.0 G (59.7 G), available memory (16.2 G)) = 4.0G)"
>
> which is compelled to use math speak for clarity and succinctness.
>
> Dunno how happy most sys-admins would be with that.
>
> - mulhern
But is all that information really needed?
If I try to see this from a sys-admin point of view there are two
numbers which are important to me: 1) Current state 2) Final journal
limit size. From how I see it, how the journal code ends up with a
certain number is only useful when you're developing/debugging the
journal. Remember: Less is more.
--
kind regards,
David Sommerseth
More information about the systemd-devel
mailing list