* question about overcommit
@ 2008-08-28 17:00 david
2008-08-28 16:51 ` Alan Cox
0 siblings, 1 reply; 2+ messages in thread
From: david @ 2008-08-28 17:00 UTC (permalink / raw)
To: linux-kernel
with overcommit enabled when a process forks the pages are marked COW and
no new memory is allocated (cache and buffers are untouched)
when overcommit is disabled and a process forks new memory is allocated,
but will this force cache and buffers to be thrown away (and possibly
force stuff out to swap) even if the memory is never written to? or does
the kernel still mark the pages COW, but somehow record that a chunk of
virtual memory (ram + swap) has been allocated for this without actually
affecting what's in ram?
my belief from watching the discussions is that it will evict things from
ram to make space for the new allocation, and as a result running with
overcommit disabled ends up wasting a noticable amount of ram. As a result
I leave overcommit enabled and create swap space large enough to handle
what I consider reasonable overloads (i.e. if I'm useing more swap than
what's allocated the machine is slmost certinly thrashing so much as to be
unusable)
but if I am wrong and the allocations actually can come from unused swap
space without pushing anything out of ram, then the right thing to do is
to disable overcommit and allocate a sizable chunk of swap space to get
a similar result as with overcommit, but without any possibility of the
OOM killer kicking in (at the cost that programs may fail memory
allocations instead)
could someone please clarify this for me?
David Lang
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: question about overcommit
2008-08-28 17:00 question about overcommit david
@ 2008-08-28 16:51 ` Alan Cox
0 siblings, 0 replies; 2+ messages in thread
From: Alan Cox @ 2008-08-28 16:51 UTC (permalink / raw)
To: david; +Cc: linux-kernel
O> my belief from watching the discussions is that it will evict things from
> ram to make space for the new allocation, and as a result running with
> overcommit disabled ends up wasting a noticable amount of ram. As a result
No-overcommit is address space accounting alone. It doesn't change actual
allocation or management of memory, it simply ensures that there should
always be enough space to ensure it can sort itself out without having to
OOM something.
It's a bit like bank loans - providing I know how much money is available
I don't have to do much except for ensure the total loaned is covered. In
the overcommit mode we instead run like the US banking system and pray we
don't hit a messy OOM (out of money) situation.
Alan
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2008-08-28 17:08 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-08-28 17:00 question about overcommit david
2008-08-28 16:51 ` Alan Cox
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®