Tuning information for ISC 386/ix

Andrew Tannenbaum trb at haddock.ima.isc.com
Thu Sep 21 09:38:04 AEST 1989


I am speaking as a hacker employed by ISC, not as ISC tech support or
as an official spokesman of ISC.  I thought this might be of general
use so I am posting it instead of mailing directly to madd at std.com.
No guarantees expressed or implied.

In article <38451 at bu-cs.BU.EDU> madd at std.com writes:
> If some kind soul could send me an mtune file that works reasonably
> well (considering) for a system with 4mb memory, ethernet, and x11 (a
> heavy STREAMS user), I would be very grateful.  Additionally, I will
> be upgrading to 8mb and putting NFS on the thing, so any tuning
> information for such a system would also be useful.

I believe that you are right in guessing that the tunable parameters
need to be fiddled.  Until these data structures are properly tuned,
your system will fail in strange ways as you've described.

The mtune file is a master file, which you shouldn't touch.  The one
that you change is the stune file (these files are in /etc/conf/cf.d
in 386/ix 2.0).  The way to do this is to run netstat -m, and you'll
get some output like this:

These numbers are off my machine; I arrived at the alloc values by
trial and error.  If a number is 1024, it probably means that I tried
it with 512 and it maxed out and failed.  I run X11 and ethernet but
no NFS on this 9Mb 386.

$ netstat -m
                 alloc   inuse     total     max    fail
streams:           128      52       840      58       0
queues:            512     290      5016     326       0
mblocks:          2840     251    384394     316       0
dblocks:          2272     251    304876     306       0
dblock class:
    0 (   4)        32       0     25655       3       0
    1 (  16)       256      62     42923      73       0
    2 (  64)       512      27    219359      44       0
    3 ( 128)      1024     162      9671     189       0
    4 ( 256)       256       0      5800      15       0
    5 ( 512)        64       0       746       2       0
    6 (1024)        64       0       389       2       0
    7 (2048)        32       0       306       9       0
    8 (4096)        32       0        27       2       0

The numbers in the alloc column are out of your stune file.  If there
are any non-zero numbers in the fail column, recompile your kernel
after fiddling the stune numbers by running idtune, or by running
kconfig (which runs idtune) using the menu options 1) CONFIGURE KERNEL
and 6) ADD TUNABLE PARAMETERS.  If you want to change the 128 byte
dblocks, the parameter is NBLK128, and so on.

Use kconfig to do this, it's easy to break if you do it by hand.
The kconfig process copies files from cf.d to kconfig.d, and it will
happily overwrite a file you've edited by hand if you play in the
wrong place.  Experiment with kconfig and understand it before
you try to subvert it.

The method for modifying tunable kernel parameters is well-described in
the 386/ix Operations/System Adminstration Guide, Chapter 5,
"Customizing your Computer" - I have a perfect-bound 6x9 copy with ISC
covers, I think this is an AT&T document, so other versions may exist.

Here's my stune file, in case it might help:

NINODE        	300
NS5INODE      	300
NFILE         	300
NBUF          	250
NPROC         	100
MAXUP         	60
NCLIST        	120
NSTREAM       	128
NQUEUE        	512
NBLK4096      	32
NBLK2048      	32
NBLK1024      	64
NBLK512       	64
NBLK256       	256
NBLK128       	1024
NBLK64        	512
NBLK16        	256
NBLK4         	32
SHLBMAX       	8
NOFILES       	64

	Andrew Tannenbaum   Interactive   Cambridge, MA   +1 617 661 7474



More information about the Comp.unix.i386 mailing list