[colug-432] conflicting CPU usage information
Jeff Frontz
jeff.frontz at gmail.com
Fri Apr 6 10:24:33 EDT 2012
I did some looking at the kernel source this morning. From what I can
determine, a process is counted toward the "load average" if it is:
- runnable (which includes running on the CPU as well as waiting on
the queue for an idle CPU to become available)
- "uninterruptible", which includes processes waiting for a page of
memory to become available -- e.g., from something in swap or for a
mmap'd file or, if I'm reading it correctly, if it wants access to a
page (or any other kernel resource) that some other process has
locked.
It's the latter type of process (in addition to the frequent
unproductive interrupt handler) that would definitely pump your load
average up without a simultaneous increase in CPU utilization.
For your own look-see, check out
http://lxr.linux.no/linux+v2.6.18/kernel/sched.c#L1890
Jeff
On Fri, Apr 6, 2012 at 9:29 AM, William Yang <wyang at gcfn.net> wrote:
> On 04/05/2012 01:17 PM, Rick Hornsby wrote:
>> Something is keeping the load high on two systems which are pretty
>> much identically configured [...]
>
>> From Linux Journal
>> (http://www.linuxjournal.com/article/9001):
>>
>> ===
>> ...load averages do not include any processes or threads waiting on
>> I/O, networking, databases or anything else not demanding the CPU.
>
> I am not convinced this is exactly what it seems on its face. When I have
> many processes in waiting on I/O on a Linux system, I expect to (and do)
> see high load averages. Oddly, the only places I remember seeing
> substantial I/O wait is on NFS servers, though. Those averages drop when
> processes aren't waiting on I/O.
>
> I suspect that, if Linux Journal is correct, that there's some additional
> complexity to it.
>
> -Bill
> --
> William Yang
> wyang at gcfn.net
> _______________________________________________
> colug-432 mailing list
> colug-432 at colug.net
> http://lists.colug.net/mailman/listinfo/colug-432
More information about the colug-432
mailing list