Messages in this thread | | | Date | Mon, 20 Mar 2000 10:36:36 -0600 (CST) | From | Jesse Pollard <> | Subject | Re: Avoiding OOM on overcommit...? |
| |
Horst von Brand <vonbrand@pincoya.inf.utfsm.cl>: > orc@pell.portland.or.us (david parsons) said: > > In article <linux.kernel.45hadsgku4f59qae3ouohgbk7k4p6lc5os@4ax.com>, > > James Sutherland <jas88@cam.ac.uk> wrote: > > > >Now we'll take a WWW server, with 100 processes forked, all sharing > > >most of the image. You just blew 2Gb or so of my swap space, to > > >achieve - nothing. > > > Okay, I'm getting really curious here: what application do you > > have that requires that you run 100 copies of a web server each > > with 20mb of unique writable data? > > 100 concurrent accesses to your site, no memory overcommit.
It doesn't take that much - of that 20MB: the parent process occupies 2-3MB - ~2MB shared text + at most 1MB data. Each child will vary from 3MB (unused server) to maybe 10MB - 20 if the perl module is included. If CGI is used, then each child will have 2MB shared text + 2-3MB data + CGI.
The CGI memory is reclaimed as they exit.
On the other hand, lets assume the amount IS accurate:
Without overcommit: You can support 100 simultaneous connections, with full saturation of each server, with no failures.
Result: happy customers, happy management, maybe even a raise.
If you overcommit: You might support 100 simultaneous connections, but not full saturation of each server, without aborting some connections or crashing the server/system.
Result: some unhappy customers, not so happy management, difficulty in identifying problems, and definitely no raise.
So you used 2G byte of swap - I know where you can by 18GB of swap for about $300 US...
------------------------------------------------------------------------- Jesse I Pollard, II Email: pollard@navo.hpc.mil
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/
| |