Windows 性能监视器的一些基本指标(CPU,内存,硬盘参数),希望对大家将来优化和分析问题提供帮忙。
CPU
Windows -Processor
指标名称 | 指标描述 | 指标范围 | 指标单位 |
---|---|---|---|
CPU利用率(% Processor Time) | % Processor Time 指处理器执行非闲置线程时间的百分比。这个计数器设计成用来作为处理器活动的主要指示器。它通过在每个时间间隔中衡量处理器用于执行闲置处理线程的时间,并且用100%减去该值得出。可将其视为范例间隔用于做有用工作的百分比。 | 根据应用系统情况,在80%±5%范围内波动为宜。过低,则服务器CPU利用率不高;过高,则CPU可能成为系统的处理瓶颈。 | % |
中断率(Interrupts/sec.) | 每秒钟设备中断处理器的次数。在完成一个任务或需要注意时,装置会发出中断讯号给处理器。可以产生中断的装置包括系统定时器、鼠标、数据通讯联机、网络卡以及其它的外部装置。在中断过程中,一般的执行绪执行将被暂停,而且一个中断可以使处理器切换到另一个具有较高优先等级的执行绪。频率中断是频繁和周期性的,并且中断动作在背景执行。 | 取决于处理器,越低越好;不宜超过1,000;如果该值显著增加而系统活动没有相应的增加,则表明存在硬件问题,需要检查引起中断的网络适配器、磁盘或其他硬件。 | 次/sec |
系统调用率System Call/sec. | 指运行在计算机上的所有处理器调用操作系统服务例行程序的综合速率。这些例行程序执行所有在计算机上的如安排和同步活动等基本的程序,并提供对非图形设备、内存管理和名称空间管理的访问 | 如果Interrupts/sec大于System Calls/sec.,则系统中某一硬件设备产生过多的中断。 | 次/sec |
Processor Queue Length | 处理器队列的线程数量。此计数器只显示就绪线程,而不是正在运行的线程。 | 如果处理器队列中总是有两个以上的线程通常表示处理器堵塞。 | ------ |
进程切换率Context Switches/sec | 指计算机上的所有处理器全都从一个线程转换到另一个线程的综合速率。当正在运行的线程自动放弃处理器时出现上下文转换,由一个有更高优先就绪的线程占先或在用户模式和特权 (内核) 模式之间转换以使用执行或分系统服务。 | 如果此计数器的数值较大,则表明锁定竞争很激烈,或者线程在用户和内核模式之间频繁切换。 | ------ |
PS:
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非常低,那么表示线程被阻塞。
内存
Windows -Memory
指标名称 | 指标描述 | 指标范围 | 指标单位 |
---|---|---|---|
Pages/sec Pages Input/sec Pages Output/sec Page Fault/sec | Page Faults/sec 是处理器每秒钟处理的错误页(包括软错误和硬错误)。Pages Input/sec 是为了解决硬错误页,从硬盘上读取的页数, 而Page Reads/sec是为了解决硬错误,从硬盘读取的次数。Pages/sec是Pages Input/sec 和Pages Output/sec 的总和,是指为解决硬页错误从磁盘读取或写⼊磁盘的速度。该系列指标是可以显示导致系统范围延缓类型错误的主要指示器。当处理器向内存指定的位置请求一页(可能是数据或代码)出现错误时,这就构成一个Page Fault。如果该页在内存的其他位置,该错误被称为软错误( 用Transition Fault/sec衡量); 如果该页必须从硬盘上重新读取时, 被称为硬错误。处理器可以在有大软错误的情况下继续操作。但是, 硬错误可以导致明显的拖延。 | 如果Page Reads/Sec持续保持为5,表示可能内存不足。Page/sec推荐0-20。如果服务器没有足够的内存处理其工作负荷,此数值将一直很高,说明内存中有很多东西需要与硬盘进行交换。如果大于80,表示有问题(太多的读写数据操作要访问磁盘,可考虑增加内存或优化读写数据的算法)。该系列计数器的值比较低, 说明响应请求比较快, 否则可能是服务器系统内存短缺引起(也可能是缓存太大, 导致系统内存太少)Page Fault/sec:每秒发生的页面失效次数,页面失效次数越多,说明操作系统向内存的读取次数越多。此时需要查看Pages Reads/sec计数值,如果计数值超过5,则可判断内存方面问题。 | 次/sec |
Available Bytes | 显示出当前空闲的物理内存总量,它等于分配给待机(缓存的)、空闲和零分页列表内存的总和。空闲内存可以马上使用; 清零内存是由零值填满的内存页,用来防止后续进程获得旧进程使用的数据; 待机内存是从进程工作集(其物理内存)中删除然后进入磁盘的内存,但是该内存仍然可以收回。该指标仅显示最后一次观察到的值,不是平均值。 | 当这个数值变小时,Windows开始频繁地调用磁盘页面文件。如果这个数值很小,例如小于5 MB,系统会将大部分时间消耗在操作页面文件上。一般要保留10%的可用内存。最低不能<4M,此值过小可能是内存不足或内存泄漏。 | ------ |
Committed Bytes | 是指以字节表示的确认虚拟内存,是磁盘页面文件上保留空间的物理内存。 | 不超过物理内存的 75% |
网友评论