Re: [PATCH] mm: add config option to select the initial overcommit mode

Austin S. Hemmelgarn
2016-05-13T13:27:23Z

On 2016-05-13 06:18, Mason wrote:
> On 13/05/2016 11:52, Michal Hocko wrote:
>> On Fri 13-05-16 10:44:30, Mason wrote:
>>> On 13/05/2016 10:04, Michal Hocko wrote:
>>>
>>>> On Tue 10-05-16 13:56:30, Sebastian Frias wrote:
>>>> [...]
>>>>> NOTE: I understand that the overcommit mode can be changed dynamically thru
>>>>> sysctl, but on embedded systems, where we know in advance that overcommit
>>>>> will be disabled, there's no reason to postpone such setting.
>>>>
>>>> To be honest I am not particularly happy about yet another config
>>>> option. At least not without a strong reason (the one above doesn't
>>>> sound that way). The config space is really large already.
>>>> So why a later initialization matters at all? Early userspace shouldn't
>>>> consume too much address space to blow up later, no?
>>>
>>> One thing I'm not quite clear on is: why was the default set
>>> to over-commit on?
>>
>> Because many applications simply rely on large and sparsely used address
>> space, I guess.
>
> What kind of applications are we talking about here?
>
> Server apps? Client apps? Supercomputer apps?
>
> I heard some HPC software use large sparse matrices, but is it a common
> idiom to request large allocations, only to use a fraction of it?
Just looking at my laptop right now, I count the number of processes
which have a RSS which is more than 25% of their allocated memory to be
about 15-20 out of ~170 processes and ~360 threads. Somewhat
unsurprisingly, most of the ones that fit this are highly purpose
specific (cachefilesd, syslogd, etc), and the only ones whose RSS is
within 1% of their allocated memory are BOINC applications (distributed
and/or scientific computing apps tend to be really good about efficient
usage of memory, even when they use sparse matrices). There are in fact
a lot of 'normal' daemons that do this (sshd on my system for example
has 460k resident and 28.5M allocated, atd has 122k resident and 12.6M
allocated, acpid has 120k resident and 4.2M allocated).