Not enough core: how to cure?

mangler at cit-vax.UUCP mangler at cit-vax.UUCP
Mon Feb 16 19:53:16 AEST 1987


In article <5433 at mimsy.UUCP>, chris at mimsy.UUCP (Chris Torek) writes:
> maxdmap can be computed as a function of DMMIN, DMMAX, and NDMAP.
> ....
> The way to alter this limit is to change any of those parameters.

If you increase NDMAP, you will probably have to raise UPAGES in
order to leave enough room in the u-area for the kernel stack.
There is also some hardcoded stuff in locore.s that has to be
changed when you change UPAGES.  You also have to recompile just
about everything that looks in /dev/kmem or core images.

You also need to raise MAXDSIZ.  If you go beyond 32 megabytes,
you have to increase the size of c_page in cmap.h.  (I spent a
great deal of time two years ago finding this out the hard way).

It is *much* easier to just raise DMMAX, if you can afford more
wasted swap space.  The wasted space comes about because large
processes are rounded up to DMMAX disk sectors of swap space.
The useful values are:
	DMMAX=1024	MAXDSIZ=12*1024-32-SLOP     (6 MB)
	DMMAX=2048	MAXDSIZ=22*1024-32-SLOP     (11 MB)
	DMMAX=4096	MAXDSIZ=40*1024-32-SLOP     (20 MB)
	DMMAX=8192	MAXDSIZ=72*1024-32-SLOP     (36 MB)
	DMMAX=16384	MAXDSIZ=128*1024-32-SLOP    (64 MB)

In 4.3 BSD, DMMAX is 4096 (and NDMAP is larger).  If you don't
need a huge increase, just use DMMAX=2048.

Don Speck   speck at vlsi.caltech.edu  {seismo,rutgers,ames}!cit-vax!speck



More information about the Comp.unix.wizards mailing list