mjd-lists-plug on Fri, 15 Aug 2003 15:43:04 -0400


[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: [PLUG] Load Average



Paul <emailme@dpagin.net>:
> What does it really mean in practical terms?  

A process is 'runnable' if it's not waiting for I/O, not alseep, etc.
Inside the kernel is a queue of processes, the 'job queue' that are
'runnable'.  The kernel runs one of the processes for a while.  After
a while, it will stop running this process and run a different process
for a while.

The 'load' at any moment is the length of the job queue at that
moment.  The 'load average' is the average length of the queue over
some time interval.

> For example, when is a load average too high?  

If you have one CPU, your system can run exactly one job at any time.
If the load average is over 1, it means that your system is
overloaded---there are jobs that are ready to run, but which aren't
running because the CPU is busy running other jobs instead.

If the load average is 0.5, it means that the average length of the
job queue is 0.5 jobs.  The system is not loaded to capacity, because
about half the time it had no job to run.

> Does that number differ depending on the system?

Yes.  If you have four CPUs, then your system isn't overloaded unless
the load average is more than 4.  

> What is an ideal load average, meaning that the system is being
> utilized at a comfortable level? 

Load average is not a single indicator of that.  It will depend a lot
on how much memory and swap space you have.  If you have two jobs
running at once, each of them will get about 50% of the CPU capacity;
they will take about twice as long to run as they would if you ran
them separately.  Whether this is 'comfortable' depends on what the
jobs are and on how you feel about them.

But when the two jobs are running at once, if you don't have enough
real memory to hold both, then each time the kernel switches from one
to the other, it will have to use up some time swapping in the pages
of the new job.  This won't affect the load, but the processes will
take longer to complete because time and CPU capacity are being used
up on swapping activities, leaving less total for the two jobs.

So there's no simple answer to your question.

I hope this was helpful.
_________________________________________________________________________
Philadelphia Linux Users Group        --       http://www.phillylinux.org
Announcements - http://lists.netisland.net/mailman/listinfo/plug-announce
General Discussion  --   http://lists.netisland.net/mailman/listinfo/plug