Perfmon%处理器时间与任务pipe理器的CPU使用率

一般来说,我是使用Perfmon和性能监控的新手(请简单介绍一下)

我知道Perfmon没有任何东西完全像任务pipe理器的CPU使用情况显示,但我想弄清楚如何通过类似的方式通过Perfmon监视用户的CPU使用率,并试图了解测量(或如何转换数字得到相似的理解)

例如,如果在任务pipe理器中,特定的用户一直使用超过5%的CPU,我想联系用户。

我通过示例学习得最好,所以这里正是我想要做的,具体的例子是:

这是针对32位双四核Windows 2003 Web服务器(8个CPU)的,服务器上有许多网站,每个都在自己的应用程序池/工作进程ID内运行。

通过这里的其他研究,我了解到我做了一个registry更改,以便使用w3wp过程显示PID,以便稍后通过交叉引用可以轻松识别该站点。

我使用以下设置设置了一个计数器:

Process -> % Processor Time -> all instances 

这是一个例子。 假设我对下图中的“ 黑线 ”用户感兴趣,因为与其他所有用户相比,他的stream程非常高:

(我没有被允许发布的图像,因为我是这个网站的新用户..我已经上传的图像:)

http://i35.tinypic.com/106yn8k.jpg

所以…以此为例,我看到它们的平均处理器时间是23.264 ,并且已经达到了103.124

那么23.264这个数字对我来说意味着什么呢? 是否与此用户的任务pipe理器CPU读数的平均值相似?

或者,由于这个服务器有8个CPU,我应该把这个数字除以8吗? (23.264 / 8 =平均CPU负载2.9%)

提前致谢。

大多数人倾向于不看处理器时间,而是处理器队列长度(等待处理器的线程数量)。

这就是说这里有一个很好的解释:

http://www.windowsnetworking.com/articles_tutorials/Key-Performance-Monitor-Counters.html

我知道这个问题有点老了,但另一个相关的讨论可以在这里find:

Perfmon进程:%处理器时间与任务pipe理器的CPU使用率

重点是您还需要捕获“处理器\%用户时间”并将其乘以您感兴趣的进程的“进程\%处理器时间”。

我个人认为你应该包含“处理器\%特权时间”,因为“进程\%处理器时间”包括“进程\%用户时间”和“进程\%特权时间” 。