ugh.book

(singke) #1

226 System Administration


Fortunately, very experienced sysadmins (those with a healthy disrespect
for Unix) can win the battle.
Date: Tuesday, January 12, 1993 2:17AM
From: Robert E. Seastrom <[email protected]>
To: UNIX-HATERS
Subject: what a stupid algorithm

I know I’m kind of walking the thin line by actually offering useful
information in this message, but what the heck, you only live once,
right?

Anyway, I have this Sparcstation ELC which I bought for my per-
sonal use in a moment of stupidity. It has a 760MB hard disk and
16MB of memory. I figured that 16MB ought to be enough, and
indeed, pstat reports that on a typical day, running Ecch Windows, a
few Emacses, xterms, and the occasional xload or xclock, I run 12 to
13MB of memory usage, tops.

But I didn’t come here today to talk about why 2 emacses and a win-
dow system should take five times the total memory of the late AI
KS-10. No, today I came to talk about the virtual memory system.

Why is it that when I walk away from my trusty jerkstation for a
while and come back, I touch the mouse and all of a sudden,
whirr, rattle, rattle, whirr, all my processes get swapped back into
memory?

I mean, why did they get paged out in the first place? It’s not like the
system needed that memory—for chrissake, it still has 3 or 4 MB
free!

Well, here’s the deal. I hear from the spies out on abUsenet (after
looking at the paging code and not being able to find anything) that
there’s this magic parameter in the swapping part of the kernel called
maxslp (that’s “max sleep” for the non-vowel-impaired) that tells the
system how long a process can sleep before it is considered a “long
sleeper” and summarily paged out whether it needs it or not.

The default value for this parameter is 20. So if I walk away from my
Sparcstation for 20 seconds or take a phone call or something, it very
helpfully swaps out all of my processes that are waiting for keyboard
input. So it has a lot of free memory to fire up new processes in or
use as buffer space (for I/O from processes that have already been
Free download pdf