有没有办法看到每个核心进程使用多lessCPU使用率?

我知道在perfmon中,你可以看到每个内核被利用了多less,一个特定的进程使用了​​多lessCPU。 然而,我似乎无法find一个方法来看看一个进程正在使用核心分解多lessCPU。

有没有一个内置的方式来查看这些信息? 有没有一个程序化的方式来看到这个? (C#首选)我是否通过问这个问题来certificateWindows(Vista)如何处理核心使用和上下文切换的误解?

编辑:更多的澄清我想找出。 我的过程只使用30-40%的总CPU(四核),因为它没有足够的multithreading来利用更多,还是因为它太I / O限制,磁盘访问是瓶颈?

那么没有办法做到这一点? (除了确保计算机上没有其他CPU活动)

Solutions Collecting From Web of "有没有办法看到每个核心进程使用多lessCPU使用率?"

您无法直接获取给定进程的per-processer循环时间,但是您可以使用QueryIdleProcessorCycleTime (因为它会为所有逻辑处理器(即核心)返回空闲时间)和QueryProcessCycleTime并假定它是唯一的非空转进程运行。

Process Explorer至少可以显示给定进程的线程以及它们使用的CPU数量。 也许你可以得到线程运行的核心/ CPU,然后加起来。 虽然我没有太多的WinAPI经验。 所以也许处理器亲和力只能在进程上查询。