The "Load Average" metric that you see in Linux using a tool like "top" actually refers to the number of processes that are wanting to use CPU time at each point in time. One advantage of using this definition over just raw CPU utilization is that it takes into consideration situations where the system isn't able to work on processes due to waiting for IO etc. So it then becomes a good proxy for how quickly the system is likely to respond to new processes and tasks.
However, one gotcha with this is that it gives artificially low readouts for thread based programs such as Java. You can have a Java process with hundreds of threads, most of which waiting to use the CPU as the CPU is maxxed out, and still get a low load average.
References:
No comments:
Post a Comment