how do you write a program to determine free swap (like pstat -s)

Andreas Karrer karrer at ethz.UUCP
Wed Nov 7 23:00:04 AEST 1990


alan at shodha.enet.dec.com ( Alan's Home for Wayward Notes File.) writes:

>In article <1990Nov7.015529.15623 at wrl.dec.com>, mogul at wrl.dec.com (Jeffrey Mogul) writes:
>> In article <1990Nov6.033516.18772 at NCoast.ORG> simpsong at NCoast.ORG (Gregory R. Simpson @ The North Coast) writes:
>> >I'd like to write a simple vm_check program that returns
>> >nothing except the amount of swap remaining... (which is
>> >all I'm interested in...
>> 
>> As you might have guessed from the output of /etc/pstat -s,
>> there isn't simple value stored in the kernel that says "this
>> much swap space is in use"; rather, pstat grovels through
>> kernel data structures counting things up, and computes
>> a total through a fairly hairy computation.  I counted over
>> 160 lines in pstat just to do what you're asking for.

>	Actually it depends on what version of ULTRIX you're
>	running.  In V3.1 and earlier.  It's the really hairy
>	stuff that Jeff mentioned.  In V4.0 there is a data
>	structure called "swapu" that has how much is being
>	used for various things.  The amount free is just the
>	total - the amount used.  You can get total from adding
>	amount indicated in the "swdevt" table.

[... source for simplified pstat -s omitted ...]

Thanks for this piece of code. (on Ultrix4.0) it returns the amount of
used and wasted swap space using less than 0.1 sec cpu time (in good ol'
512 byte blocks). Please compare: "/bin/time /etc/pstat -s":

Machine       Ultrix V  swap space   cpu sec
VAX 11/785        3.1      66 M      2.4 - well, a 785...
DECstation 5000   4.0      65        2.3 - hmm...
DECsystem 5400    4.0     122        3.8 - qualifies as "fairly hairy"
DECsystem 5820    4.0     127        3.8 - ditto
DECsystem 5840    4.0     156        6.1 - !!! outrageous !!!

it seems the faster the machine, the slower is pstat -s  :-(

+-----------
  Andi Karrer, Communication Systems, ETH Zuerich, Switzerland
  karrer at ks.id.ethz.ch                  karrer at czheth5a.bitnet



More information about the Comp.unix.ultrix mailing list