If I run uptime, I get something like this:

10:50:30 up 366 days, 23:27,  1 user,  load average: 1.27, 2.06, 1.54

What do those numbers on the end mean? The man page tells me it's "the load average of the system over the last 1, 5, and 15 minutes.". But what is the scale? Is 1.27 high? Low? Does it depend on my system?

link|improve this question

67% accept rate
I wonder how the load average should be interpreted on a multi-core CPU system. – nagul Aug 16 '09 at 23:23
feedback

3 Answers

up vote 11 down vote accepted

Load average is a gauge of how many processes are on average, concurrently demanding CPU attention.

Generally, if you have 1 process running at 100%, and it just sits like that for all eternity, you can expect all values to approach '1'.

Generally, this is as efficient computing as you can get, no losses due to context-switches.

However, on modern multitasking OS's, there is more than one thing that needs CPU attention, so under a moderate amount of load from a single process, load average should float between 0.8 and 2.

If you decide to do something insane, like build a kernel with make -j 60 , despite only having 1 logical processor, then load average would rush towards 60, and your computer would be incredibly useless to you. ( Death by context switch )

Also to note, this metric is irrespective of how many cores/cpu's there are. For a 2-cored system, running 1 process that consumes a whole core ( leaving the other idle ) results in a load average of 0.5. Which is good, because it leaves load average as respectable measure of how usable the machine is without having to work out how many cores the user has.

link|improve this answer
So a load average of less than 1 means "Processes generally never have to wait"? Can I interpret a load average of 2 as "Each process is taking roughly twice as long as it would in ideal conditions"? (I know that there's I/O to worry about as well) – John Fouhy Aug 16 '09 at 23:50
Yes, That makes sense, ignoring IO that is ;) – Kent Fredric Aug 22 '09 at 11:35
The last paragraph is wrong. See en.wikipedia.org/wiki/Load_(computing) or Ben's answer. – bayer Mar 3 '11 at 12:38
feedback

In general it measures the number of active processes at a given time, but the metrics used to calculate it differ on some systems. The only article I've found that explains it fairly well is this one.

link|improve this answer
That link is dated '03. Linux 2.6 came out since then. ( You'll note they're using 2.0 , Ouch.) The metrics appear to be now somewhat different in practice than the ones stated on that page. – Kent Fredric Aug 16 '09 at 23:27
Here's one from end of '06, which isn't that different from the linked article: linuxjournal.com/article/9001 – nagul Aug 17 '09 at 7:01
feedback

(I wanted to reply to Kent Fredric's answer, but even after creating an account, I couldn't... need rep first. So maybe someone else can reply and then delete this answer or something...)

These two sentences in Kent's answer contradict each other: "Also to note, this metric is irrespective of how many cores/cpu's there are. For a 2-cored system, running 1 process that consumes a whole core ( leaving the other idle ) results in a load average of 0.5." The first sentence is the correct one. It is in fact irrespective of the number of cores. It is simply (a decaying average of) the number of processes contending for CPU time at any given moment. Running 1 process that consumes a whole core results in a load average of 1.0. In order to decided how loaded a system is, you'll need to know the number of cores and do the division yourself. (Though it's still not a perfect metric of course.)

link|improve this answer
feedback

Your Answer

 
or
required, but never shown

Not the answer you're looking for? Browse other questions tagged or ask your own question.