Re: Overcommitable memory??

From: Jesse Pollard (pollard@cats-chateau.net)
Date: Sat Mar 18 2000 - 22:19:21 EST


On Sat, 18 Mar 2000, Linda Walsh wrote:
>Matija Nalis wrote:
>>
>> On 17 Mar 2000 00:27:42 +0100, Rask Ingemann Lambertsen <rask-linux@kampsax.k-net.dk> wrote:
>> >Den 15-Mar-00 11:49:45 skrev James Sutherland følgende om "Re: Overcommitable memory??":
>> >> On Wed, 15 Mar 2000, David Whysong wrote:
>> >
>> >>> The only possibilities are to (a) enforce hard memory limits with no
>> >>> overcommit, thereby wasting large amounts of swap space that will never
>> >>> get used while not really solving the problem,
>> >
>> >> As well as *destroying* performance (you'd effectively eliminate COW
>> >> capability on fork - if your 500Mb simulation wants to fork a 100k mailer
>> >> process to send you an update, the kernel has to allocate and copy 500Mb
>> >> of RAM/swap first, then discard it all again.)
>> >
>> > Not at all. COW is a performance optimisation which does not depend on
>> >overcommitment of memory in any way. Why would you want to turn it off?
>>
>> Say you have 800MB virtual RAM, and you simulation currently uses 500MB.
>> And now, it tries to fork(2). Do you allow it, or does fork fail with
>> -ENOMEM ?
>---
> Had exactly this problem in SoftWindows on IRIX. It would
>fork to run some trivial external application, or a sound-process.
>It would die running out of memory (SWin mem image was often large).
>Solution was to convert to using
>'sproc', where amount of process sharing can be user defined -- something
>like a heavy-weight thread. If all you were going to do was to exec
>another proc, you could set the new proc to "share all mem":
>
>PR_SADDR All virtual space attributes (shared memory, mapped files, data
> space) are shared. If one process in a share group attaches to
> a shared memory segment, all processes in the group can access
> that segment.
>==
> Then do the exec call. Thus no overcommit.

Does that include sharing the stack space? Doing so would seem to allow for
corrupting the parent process stack.

Other than that, this sounds like a possible solution.
-------------------------------------------------------------------------
Jesse I Pollard, II
Email: pollard@cats-chateau.net

Any opinions expressed are solely my own.

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



This archive was generated by hypermail 2b29 : Thu Mar 23 2000 - 21:00:26 EST