[net.unix-wizards] Question about 4.2 swap space and pstat -s

Alan Crosswell <US.ALAN%CU20B@COLUMBIA.ARPA> (12/01/84)

Occassionally,  we get a `no more core' error on our 750 running
4.2.  Apparently,  having several CCA EMACS processes or maybe just
a lot of EMACS buffers seems to be the culprit.  If I do a pstat -s
around this time,  I get the following type of result:

	28934 used (1954 text), 3994 free, 12344 wasted, 0 missing
	avail: 2*1024 1*512 1*256 3*128 5*64 6*32 

Could someone explain to me what the 12344 wasted means and/or how to
correct the problem.  We have a somewhat unusual configuration in that
our 750 has 6Mb real memory and a single RA81 disk, so the interleaved
swap warning at boot time has to go unheeded.  We have done no tuning
of the RA81 partition sizes and are therefore running essentially the
distributed 4.2 with very few of the bug fixes installed so far.  We
aren't too sophisticated when it comes to 4.2 here, so any pointers to
what may seem obvious to you would be appreciated.  If this is a known
and fixed bug,  a pointer to which of the 500 or so would help too!

Thanks,
Alan Crosswell
Columbia University Center for Computing Activities
us.alan@cu20b.arpa
-------

Mike Caplinger <mike@rice.ARPA> (12/03/84)

Alas, it's not a "problem", it's a feature.  4.2 uses a "more
efficient" allocation algorithm for the swap space, which unfortunately
results in fragmentation thereof.  Running large processes like Emaces
seem to result in huge amounts of wasted space.  There is apparently no
"fix" for this.

Perhaps some hardy soul might consider retrofitting the 4.1 swapping
code.  Many sites like yours and mine, who have lots of physical memory
and relatively small swap areas, would appreciate it.

Robert W. Scheifler <RWS@MIT-XX.ARPA> (12/03/84)

We "fixed" this problem by adding another variable, dmlim, to go between
dmmin and dmmax, and do the swap chunk doubling only up to dmlim instead
of dmmax.  Of course, to get a reasonable size address space you may also
have to increase NDMAP, and this may in turn force you to increase UPAGES.
For example, in order to get reasonable use out of our tiny RK07 swap
partition, we defined DMMIN=32, DMMAX=256, NDMAP=65, and UPAGES=12.
By choosing DMLIM to be 64, 128, or 256, we get 2Mb, 4Mb, or 8Mb spaces,
with increasing fragmentation costs, but still less than vanilla 4.2.
My timings when we first did this showed that such changes made no
noticeable difference in performance, but allowed us to run many more
processes.

-------