I know in perfmon you can see how much each core is utilized, and how much total CPU a particular process is using. However I can't seem to find a way to see how much CPU a process is using broken down by cores.
Is there a built-in way to see this information? Is there a programmatic way to see this? (C# preferred) Am I demonstrating a misunderstanding of how Windows (Vista) handles core usage and context switching by asking this question?
Edit: More clarification of what I want to find out. Is my process only using 30-40% total CPU (on a quad core) because it's not sufficiently multi-threaded to utilize more or is it because it's too I/O bound and disk access is the bottleneck?
So is there no way to do this at all? (other than make sure there's no other CPU activity going on on the computer)