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)
Process Explorer at least can show you the threads of a given process and how much CPU those are using. Maybe you can get the core/cpu on which the threads are running somehow and then just add up. I have not much WinAPI experience, though. So maybe processor affinity can only be queried on processes.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With