Re: Bug#695182: [RFC] Reproducible OOM with just a few sleeps

Ben Hutchings
2013-01-15T00:34:48Z

[-- Attachment #1: Type: text/plain, Size: 1124 bytes --]

On Tue, 2013-01-15 at 07:36 +1100, paul.szabo@sydney.edu.au wrote:
> Dear Dave,
>
> >> Seems that any i386 PAE machine will go OOM just by running a few
> >> processes. To reproduce:
> >> sh -c 'n=0; while [ $n -lt 19999 ]; do sleep 600 & ((n=n+1)); done'
> >> ...
> > I think what you're seeing here is that, as the amount of total memory
> > increases, the amount of lowmem available _decreases_ due to inflation
> > of mem_map[] (and a few other more minor things). The number of sleeps
> > you can do is bound by the number of processes, as you noticed from
> > ulimit. Creating processes that don't use much memory eats a relatively
> > large amount of low memory.
> > This is a sad (and counterintuitive) fact: more RAM actually *CREATES*
> > RAM bottlenecks on 32-bit systems.
>
> I understand that more RAM leaves less lowmem. What is unacceptable is
> that PAE crashes or freezes with OOM: it should gracefully handle the
> issue.
[...]

Sorry, let me know where to send your refund.

Ben.

--
Ben Hutchings
Quantity is no substitute for quality, but it's the only one we've got.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 828 bytes --]