home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 January / usenetsourcesnewsgroupsinfomagicjanuary1994.iso / sources / unix / volume4 / loadav / README < prev    next >
Encoding:
Text File  |  1986-11-30  |  1.5 KB  |  34 lines

  1. Here are 2 library funtions that will allow non-setuid (or setgid) 
  2. functions to check the load average.  They are:
  3.  
  4. getload():    A fast routine which will return only
  5.           the 1, 5, or 15 minute average.  It only returns
  6.           1 decimal place of accuracy (ie 3.1 instead of 3.08) and
  7.           will only tell load averages below 25.0
  8.           It requires a program installed on the system called
  9.           "getld".  This setgid program reads /dev/kmem and
  10.           exits with information we need.
  11. ugetloads():  A much slower routine that will return all 3 load
  12.           averages via an array passed to it.  It just
  13.           runs uptime(1) and captures the information it needs from
  14.           there not requiring the external program getld.
  15.  
  16.  
  17. If getload() is usable (ie you install the program "getld")
  18. it is much faster than ugetloads() and can be called 3 times
  19. (to get the 3 load averages) in much less time than ugetloads()
  20. can be called once.  The speed of getload() lies in the fact that "getld"
  21. exits() with the load average we want instead of printing
  22. it. This way getload() doesn't have to open a pipe to read what "getld" might
  23. otherwise print, it just has to look at the high byte of the exit status.
  24.  
  25. The routine ugetloads() allows anyone to get the load averages
  26. without any extra programs on the system.  It's good if you don't happen
  27. to be super-user and can let "getld" read /dev/kmem.
  28.  
  29. A sample program example.c demonstrates the use of these routines.
  30.  
  31.     John Bien
  32.     {ihnp4 | ucbvax | decvax}!trwrb!jsb
  33.  
  34.