How can I get bigger processes on 4.1BSD ?

Spencer W. Thomas thomas at utah-gr.UUCP
Mon Jan 16 15:54:10 AEST 1984


Following up on Mike Accetta's message, I can maybe shed a little more
light on the subject of increasing process size.  We just did this here,
and I operated from two criteria:
	1. No user programs should need to be recompiled.
	2. System resource usage should not be drastically increased.

There are a coupld of parameters you can adjust to get more data space. 
These are NDMAP and DMMAX.  These control the amount of swap space which
can be allocated, and which is the limiting factor on process growth. 
NDMAP says how many entries are in the swap map, there are two of these
in the user struct - one for data segment and one for stack segment. 
DMMAX controls how big the swap segments get.  You can increase data
size by doubling (and redoubling) DMMAX without changing the size of the
U struct (and thus avoiding the necessity of recompiling N user
programs).  The side effect here is that (internal) fragmentation of the
swap area increases.  I have seen a recommendation that you have at
least 96Mb of swap (3 * 32Mb) for a DMMAX of 4096.  Now, obviously this
depends on your job mix.  Anyway, if you only beat on DMMAX (which is in
autoconfig.c, by the way, at least in 4.2), you can get:
DFLT>	DMMAX=1024	MAXDSIZ=6Mb (approx. (i.e., 12*1024 ...))
	DMMAX=2048	MAXDSIZ=11Mb (-32-slop, again)
	DMMAX=4096	MAXDSIZ=20Mb

The effect of DMMAX is that any process larger than DMMAX-32 gets its
swap space allocated in DMMAX chunks (so 512kbytes in the distributed
system, up to 2Mb with DMMAX=4096).

Luckily for us, 11Mb is large enough (for now).

=Spencer



More information about the Comp.unix mailing list