interpretation of %CPU in 'procps' output for multi-cpu & hyperthreading

Matthew Woehlke
Thu Oct 11 18:01:00 GMT 2007

Tom Rodman wrote:
> On Thu 10/11/07 10:05 CDT Matthew Woehlke wrote:
>> Tom Rodman wrote:
>>> Is there a way to prove that a given process with more than 1 thread,
>>> is still restricted to just one CPU?
>> Unless you have manually set affinity, why would this be true? More 
>> likely, only one thread is actually doing anything.
> Thanks Matthew.
> I meant to ask: 
>   Is there a way to prove that a given process with more than 1
>   thread, must always have all it's threads on a single CPU at
>   any given time ( over the life of the process, I assume the all
>   it's threads could shift from CPU to CPU)?

Well... unless you have set affinity, I don't know of any reason why a 
multi-threaded application would have all of its threads end up on only 
a single CPU to begin with*. As for whether or not threads can migrate, 
I would assume they can, although I don't really know for sure. (On 
Linux, under constant load, they don't seem to. On Windows it seems like 
even single-threaded applications tend to be distributed across multiple 

(* for the nitpickers: "unless of course you only /have/ one CPU".)

Anyway, this isn't really a Cygwin question any more, you would do 
better asking on a Windows forum. If you wish to discuss this further, 
it should probably be taken to cygwin-talk.

If a signature
is not read by anyone,
does it make a sound?

Unsubscribe info:
Problem reports:

More information about the Cygwin mailing list