What is the best way to determine in Linux if a multi-processor machine is overloaded? I thought load was a good measure but I run a large number of tasks which don't consume a lot of CPU but which drive up the load. A 4 processor machine has a load of 66 right now according to top for example but mpstat reports that the all CPU idle time is 89%.
Keep in mind that top displays 3 load averages. This is the line from my box:
The first number is the one minute average, second is 5 minute and the third is 15 minute. If you're only looking at the one minute average, that's not good enough. Standard rule of thumb is that the load should not be greater than 1 in a single core, 2 for dual core, etc. So, for example's sake, let's say you're running a quad core box. Anything above 4 is overloaded. That being said, you may see spikes in the one minute load average, but the 5 and 15 minute may still be fine.
Another explanation can be found here: http://blog.scoutapp.com/articles/2009/07/31/understanding-load-averages