Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 02 Apr 1998 23:31:36 -0800
From:      David Greenman <dg@root.com>
To:        Mike Lei <tlei@mailbox.syr.edu>
Cc:        freebsd-questions@FreeBSD.ORG
Subject:   Re: FreeBSD kernel 
Message-ID:  <199804030731.XAA28847@implode.root.com>
In-Reply-To: Your message of "Fri, 03 Apr 1998 01:38:48 EST." <352483F8.B30950F7@mailbox.syr.edu> 

next in thread | previous in thread | raw e-mail | index | archive | help
>  The commands 'uptime' and 'top' on FreeBSD both obtain three values
>through the kernel variable '_averunnable'.  Actually, '_averunnable'
>points to an array in /dev/kmem which holds three values.  After both
>commands get those values, they make them divided by FSCALE as "load
>average".  One of my questions is how those three values in that array
>be generated by FreeBSD kernel. In other words, what factors does
>FreeBSD
>kernel depend on to determine the term "load average"??
>
>  I know the value of FSCALE on FreeBSD is 2048, because I printed the
>constant in a program.  And on SunOs, FSCALE is 256, right? What is "256
>
>scale array" or "2048 scale array"? What do thay mean?  And why do we
>have to make the values that get from that array in /dev/kmem divided by
>
>FSCALE?

   There is a description of the load average (and process priority)
calculation on pages 94-95 of "The Design and Implementation of the 4.4BSD
Operating System", by McKusick et al.
   I believe that FSHIFT and FSCALE are used to scale the integers for doing
the fixed-point decimal calculations of the load average.

-DG

David Greenman
Core-team/Principal Architect, The FreeBSD Project

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199804030731.XAA28847>