Performance questions

was-John McMillan jcm at mtunb.ATT.COM
Fri Dec 23 10:04:05 AEST 1988


In article <449 at uncle.UUCP> jbm at uncle.UUCP (John B. Milton) writes:
>In article <19 at dons3b1.UUCP> don at dons3b1.UUCP (Don Joslyn) writes:
>...
>>	1.	Can the sticky bit be used to make loading programs faster on
>>		the UNIX-PC?  If yes, what programs have you set the sticky bit
>>		on?  Any comments?
>If you have LOTS of memory, and low system usage, yes.

Please enlighten me: "LOTS of memory"... usually refers to RAM.
But... to my recollection, the cost of the Sticky bit is a few dozen
bytes -- specifically, ONE text-table entry.

OK: in the larger sense DISK SPACE is called "extended memory", "secondary
memory", or other such goodies.  Punch cards might also be.

In MY phantasy, the Sticky bit just locks a shared-TEXT image onto the
swapping disk.  Ergo, you will run out of SWAP SPACE if you're overly
sticky or under-equipped.

(Of course, our beloved operating system, unable to allocate SWAP SPACE,
during an EXEC [or fork?] responds with "ENOMEM"... but it probably does
that if you run out of punch cards, too... ;^)

"Low system usage?"  Mine remains at desk height because of nose-bleeds.
Again: if you're tying up the SWAP with Sticky Bits, it ain't there for
other use.  Running LOTS of programs (pardon the hi-tech talk) may
run ya out of swap space.  So can ONE program if you're into Grand-MALLOC
seizures and bit-graphix.  

My VI starts in 3 seconds, thus staying within the speed limits and
satisfying my primal urges.  It WILL start in ~1 second if I pour
honey over it.  ...@ a cost of 100KB of swap.  Few programs have as
bulky a TEXT portion and few therefore benefit this greatly.

(NB: ONLY TEXT can be locked on SWAP by Stickiness, DATA must be demand
paged.)

Those who benefit MOST are those with the slowest disks -- who are
usually those with the smallest disks and least SWAP space.

__________ <- The bottom line: BATHE OFTEN... and don't get any stickier
than you MUST.

>>	2.	I have 2 meg of memory.  What can I change in /etc/master to
>>		increase disk performance?  How did it help your system
>>		performance?
>You can anything you want in /etc/master, and it will NOT increase you disk
>performance. This weirdo UNIX AT&T put on this machine is not supplied with
>the normal .o files and libraries to re-link the kernel to re-configure it.
>The re-configuration is limited to the parameters that can be poked at with the
>ktune(7) command. All you can change is: nbuf, ninode, nfile, nproc, ntext,
>nclist, npbuf, ncall and nttyhog. It does this by patching a ktune struct in
>the kernel. The kernel uses these values as the "desired" value the next time
>it boots.

This "weirdo" system was spec'd to run with only .5 MB RAM and a 10 MB
disk.  (NO-- it wasn't the greatest COMPILATION-Machine with this
hardware ;-( ) You DON'T put .o's on a system with a 10 MB disk.
CORRECTION: I DON'T, perhaps others do.  Was it a bad original decision?
Do companies ever mis-estimate markets ;^?

OK, ya wanna improve DISK performance?  Clearly you can
    1) try to reduce DISK ACCESSES
        a) By increasing NBUF from 100 to around 120.  
            I doubt it's worth it, as it may increase PAGING.
        b) By decreasing PAGING by adding RAM (or decreasing
	   page-contention -- ie., decreasing Program size,
	    skipping UA, or maybe DECREASING NBUF!)
            Rough recollections: a BASIC 1 MB system is already
            "consuming" ~1.2 MB RAM by the time UA has spawned a
	    single KSH.  About 500KB of this is PAGED-OUT -- but
	    some will flush through with each window change, "smgr"
	    update, or background/daemon activity.  The kernel will
	    attempt to keep 200KB available/free/un-attached -- to
	    permit reasonably fast forks & exec's.  The system will
	    become claustrophobic with less than 64KB free space.
	    _________ <- Re-lining your bottom: if, with 2 MB RAM,
	    you have tasks ACTIVELY accessing more than (around)
	    1.2MB "at once", you're a candidate for more RAM.
	    (Or if you have tasks locking up great-green-gobs of
	    SHARED-MEMORY, which is LOCKED IN RAM.)
		CAVEAT: The above paragraph is backed by my
		hallucinations, not by a specific study of the
		issue.
    2) get a faster disk.
The "1b)" wins if you're thrashing and "2)" wins if you've a slow disk.

>>	3.	Should I add -s to the fsck command in /etc/rc to sort the free
>>		list?  If yes, why should I?
>This one is very clumsy on a one drive, one partition machine, but it could
>be done easily at boot-up time in /etc/rc.

I do it on most of the machine's I control, but I'm a noted masochist
(or I wouldn't be writing this ;<)  It IS easier on multi-partition
systems and on a full stomach.

You are making a REASONABLE inquiry whose answer chains through
many more concepts than I care to stumble through.  Regular FSCK-ing
is but ONE in a number of steps that CAN SOMETIMES yield improvements
but which may well waste your time.  It MAY provide a more orderly
disk free-list which MAY produce a higher sequential-access rate
when sequentially re-reading files.  It also increases cylinder
co-residence of program blocks and therefore reduces seek-times
during demand-paging.

More than enuff said.  Sorry to bore ya.  Off to a flame-free vacation.

	JC McMillan -- att!mtunb!jcm -- Speaking only for hizzelf.
					(& 2 tired 2 proofread this.)



More information about the Unix-pc.general mailing list