gabriel rosenkoetter on 24 Nov 2003 10:31:03 -0500


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: [PLUG] Why am I running out of memory?


On Mon, Nov 24, 2003 at 10:24:48AM -0500, Tobias DiPasquale wrote:
> have the highest score (as far as the OOM killer is concerned). It has
> little to do with the amount of virtual memory on the system, and more
> to do with whether or not certain parts of the kernel can allocate
> memory when it needs it.

So, uh, why would the kernel be allocating memory at all?

Why doesn't it wire memory at boot that it's going to probably going
to need, as most other Unix-like OSes do?

Sure, it may need to go wire some more... but if Walt's seeing a
repeatable situation where the kernel wants more memory right when
he wants all the memory to go to his process, it would seem that
there's probably a way to make the kernel preallocate a bit more.

Walt, I haven't looked at the Linux VM code since maybe 2.2
something, but I've got a feeling that your request for more memory
is precisely what's causing the kernel to go allocate more. It's
probably seeing that it's about to hit the edge of the addressable
memory for which it's got active data structures and is likely
trying to *double* the number of data structures available to track
memory. There should be a way in the process of kernel configuration
to tell Linux to go ahead and horf a few hundred megabytes for VM
data structures off the bat (that is, to make sure it's going to be
able to address all of your VM, including all of your swap, without
reallocating anything).

-- 
gabriel rosenkoetter
gr@eclipsed.net

Attachment: pgpWFkLyhvXMk.pgp
Description: PGP signature