任务pipe理器处理器

与此问题相关: Perfmon“处理器时间百分比”计数器如何超过100%?

当用户报告问题并且Oracle进程持续使用80%-95%(5-15分钟)时,我手动观察任务pipe理器中的进程。

所以我在过去几天一直在使用perfmon来跟踪这个过程,发现它在短时间内超过了100%,所以显然在所有的处理器中都是perfmon。

我的问题是,我在任务pipe理器中看到的80-95%实际上对应于160-180%的perfmon,对吧?

(显然考虑到一些进程可能无法有效地使用所有处理器)。

任务pipe理器在这里显示80-95%的CPU:

在这里输入图像说明

对于单个过程对象,Perf Monitor可以在线上超过100%:

在这里输入图像说明

在MSDN上检查处理器时间数据

在多处理器系统上,系统监视器报告的处理器\%处理器时间值不会超过任何特定处理器或线程的100%。

另一方面,为Process对象报告的处理器时间百分比的值可以报告超过100%的值; 如果出现这样的值,则这可能表示进程的线程累积使用超过100%的处理器。


它基本上说,当检查一个进程(有多个执行path)时,如果有多个核心同时运行代码,你会看到超过100%。 进程有多个可用的内核,它可以select运行几个。

另一方面,如果检查CPU线程,则永远不会看到高于100%的值,因为这是实际测量的资源。 CPU线程是微软对于CPU核心的说法:在HT核心中有两个线程。