Re: [PATCH v7 2/2] mm: replace hardcoded 3% with admin_reserve_pages knob

From: Andrew Shewmaker
Date: Mon Apr 08 2013 - 14:49:51 EST


On Sat, Apr 6, 2013 at 6:48 PM, Simon Jeons <simon.jeons@xxxxxxxxx> wrote:
> Hi Andrew,
>
> On 04/05/2013 11:02 PM, Andrew Shewmaker wrote:
>>
>> On Wed, Apr 3, 2013 at 9:50 PM, Simon Jeons <simon.jeons@xxxxxxxxx> wrote:
>>>>
>>>> FAQ
>>>>
>> ...
>>>>
>>>> * How do you calculate a minimum useful reserve?
>>>>
>>>> A user or the admin needs enough memory to login and perform
>>>> recovery operations, which includes, at a minimum:
>>>>
>>>> sshd or login + bash (or some other shell) + top (or ps, kill,
>>>> etc.)
>>>>
>>>> For overcommit 'guess', we can sum resident set sizes (RSS).
>>>> On x86_64 this is about 8MB.
>>>>
>>>> For overcommit 'never', we can take the max of their virtual sizes
>>>> (VSZ)
>>>> and add the sum of their RSS.
>>>> On x86_64 this is about 128MB.
>>>
>>>
>>> 1.Why has this different between guess and never?
>>
>> The default, overcommit 'guess' mode, only needs a reserve for
>> what the recovery programs will typically use. Overcommit 'never'
>> mode will only successfully launch an app when it can fulfill all of
>> its requested memory allocations--even if the app only uses a
>> fraction of what it asks for.
>
>
> VSZ has already cover RSS, is it? why account RSS again?

Right. Technically, I could leave out the RSS of the process that
I'm taking the VSZ of. Leaving it in makes the estimate 2-4 MB
larger, but it is just an estimate.

Choosing a good minimum is difficult because the behavior with
and without swap is different. With swap, only about 8MB reserves
are needed whether overcommit is disabled or not. Without swap,
I was always able to recover when I set the reserves to over 230MB
each. However, I was often able to recover with much less.

128MB seemed to me like a decent compromise between swap
and noswap modes, but it isn't totally safe for the case when
both swap and memory overcommit are disabled. In that case,
I think that an admin will have to tune the reserves for their specific
situation.

--
Andrew Shewmaker
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/