Chinaunix首页 | 论坛 | 博客
  • 博客访问: 717309
  • 博文数量: 127
  • 博客积分: 2032
  • 博客等级: 大尉
  • 技术积分: 1446
  • 用 户 组: 普通用户
  • 注册时间: 2007-07-04 10:20
文章分类

全部博文(127)

分类: WINDOWS

2012-11-15 15:38:30

Processor/% Processor Time

 

阀值:处理器的阀值一般设为85%

含义:这个计数器是处理器活动的主要指标。高数值并不一定是坏事,但是如果其他处理器相关的计数器(比如% Privileged Time 或者 Processor Queue Length线性增加的话,高CPU使用率就值得调查了。

 

Processor/% Privileged Time

阀值:如果数值持续大于75%就表示存在瓶颈。

含义:这个计数器表示一个线程在特权模式下所使用的时间比例。当你的程序调用操作系统的方法(比如文件操作,网络I/O或者分配内存),这些操作系统的方法是在特权模式下运行的。

Processor/% Interrupt Time

 

阀值:取决于处理器

含义:这个计数器表示处理器接收处理硬件中断所使用的时间比例。这个值间接指出产生中断的硬件设备活动,比如网络变化。这个计数器显著增加的话表示硬件可能存在问题。

System/Processor Queue Length

 

阀值:平均值持续大于2那么表示CPU存在瓶颈

 

含义:如果就绪的任务超过处理能力线程就会被放进队列。处理器队列是就绪但是未能被处理器执行的线程的集合,这是因为另外一个线程正在执行状态。持续或者反复发生2个以上的队列则明确的表示存在处理器瓶颈。你也能通过减少并发取得更大的吞吐量。

 

你可以结合Processor/% Processor Time来决定增加CPU的话你的程序是否能够受益。即使在多处理器的电脑上,对于CPU时间也是单队列。因此,在多处理器电脑上,Processor Queue Length (PQL)的值除以用来处理负载的CPU个数。

 

如果CPU非常忙(90%以上的使用率),PQL的平均值也持续大于2/CPU 这是应该存在CPU瓶颈而且能够从更多的CPU中受益。或者,你可以减少线程的数量以及增加应用程序层的队列。这会引起少量的Context Switching,但是少许的Context Switching对于减少CPU负载是有好处的。PQL大于2但是CPU使用率却不高的的常见原因是对CPU时间的请求随机到达而且线程却从处理器申请到不对称的CPU时间。这意味着处理器并不是瓶颈,而你的线程逻辑是需要改进的。

System/Context Switches/sec

 

阀值:按照通常的规律,context switching速率小于5000//CPU是不需要担心的。如果Context Switching速率达到15000//CPU的话就是一个制约因素了。

含义:当一个高优先级的线程取代一个正在运行的低优先级线程,或者高优先级线程阻塞的时候就会发生Context Switching。大量的Context Switching可以发生在许多线程拥有相同的优先级的情况下,这通常表示有太多的线程竞争CPU,如果你没有看到太高的处理器使用率而且发现Context Switch非常低,那么表示线程被阻塞。

阅读(6002) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~