Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

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?

share|improve this question
    
I wonder how the load average should be interpreted on a multi-core CPU system. –  nagul Aug 16 '09 at 23:23
1  
As a general rule of thumb, you should divide the load average by the number of CPUs for multi core systems. So a load of 2.0 on a dual core system is roughly equivalent to a 1.0 on a single core system. This isn't totally true, because of things like disk I/O and network traiffic, but load is kind of a rought estimate anyways. –  Mike Cooper Jun 19 '12 at 2:54
    
I found this blog really useful: Understanding Linux CPU Load –  atmaish Sep 13 at 14:48

3 Answers 3

up vote 31 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 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.

share|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
    
@KentFredric "Generally, this is as efficient computing as you can get, no losses due to context-switches."...is 1 process running at 100% all the time efficient at all? Surely I am missing something fundamental here. Could you please explain what you meant? I am confused as how can one process hogging all the cpu resources be described as efficient? –  Geek Sep 21 '13 at 7:18
    
@Geek Because context switching ( alternating between processes ) is not "free", so 2 processes on one CPU running at 50% each will lose a bit of efficiency due to the context switching. Which means that 1 process at 100% means that process completes as-soon-as-possible in the process of completing its task, and no additional effort is wasted other than completing the task itself. –  Kent Fredric Nov 10 '13 at 13:46
1  
I know a process running at 100% doesn't sound very "efficient", but if the process arbitrarily limited itself to use only 20%, it would take 5 times as long. So here efficiency means "optimal resource utilization". –  Kent Fredric Nov 10 '13 at 13:48

man 5 proc:

/proc/loadavg The first three fields in this file are load average figures giving the number of jobs in the run queue (state R) or waiting for disk I/O (state D) aver‐ aged over 1, 5, and 15 minutes. They are the same as the load average numbers given by uptime(1) and other programs.

share|improve this answer

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.

share|improve this answer
2  
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

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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