(1)首先看System:% Total Processor Time性能计数器的计数值
该计数器的数值体现服务器整体处理器的利用率,对多处理器的系统而言,该计数器体现的是所有CPU的平均利用率。如果该值持续超过90%,则说明整个系统面临着处理器方面的瓶颈,需要通过增加处理器来提高性能。
(2)其次查看每个CPU的% User Time
%User Time是系统的非核心操作消耗的CPU时间,如果该值较大,可以考虑是否能通过友好算法等方法降低这个值。如果该服务器是数据库服务器,%User Time值大的原因很可能是数据库的排序或是函数操作消耗了过多的CPU时间,此时可以考虑对数据库系统进行优化。
(3)研究系统处理器瓶颈:查看System:Processor Queue Length计数器的值
当该计数器的值 > (CPU数量的总数+1)时,说明产生了处理器阻塞。在处理器的% Process Time很高时,一般都随处理器阻塞,但产生处理器阻塞时,Processor:%Process Time 计数器的值并不一定很大,此时就必须查找处理器阻塞的原因。
内存分析:用于判断系统有无内存瓶颈,是否需要通过增加内存等手段提高系统性能表现
内存分析的主要方法和步骤:
(1)首先查看Memory:% Commitued Bytes in Use指标
如果该指标数值比较大,系统可能出现了内存方面的问题,需要继续下面步骤进一步分析。
另外也可以查看Available Bytes可用物理内存(参考值:>=10%),如果该值小,则说明可用内存不足,存在性能瓶颈。
如果 Available Bytes 的值很小(4 MB 或更小),则说明计算机上总的内存可能不足,或某程序没有释放内存。
(2)注意Pages/sec、Pages Read/sec和Page Faults/sec的值
操作系统会利用磁盘较好的方式提高系统可用内存量or提高内存的使用效率,这三个指标直接反应了操作系统进行磁盘交换的频度。
Pages/sec: 表明由于硬件页面错误而从磁盘取出的页面数(参考值:0-20),或由于页面错误而写入磁盘以释放[url=]工作[/url]集空间的页面数。
如果 Pages/sec 的值为 20 或更大,那么您应该进一步研究页交换活动;Pages/sec值不一定大就表明有内存问题,可能是运行使用内存映射文件的程序所致。
Page Input/sec:表示为了解决硬错误而写入硬盘的页数(参考值:>=Page Reads/sec)
Page Reads/sec:表示为了解决硬错误而从硬盘上读取的页数。(参考值: <=5)
Page Faults/sec:表示每秒钟处理的错误页数,包括硬错误和软错误,当处理器在内存中读取某一页出现错误时,就会产生缺页中断,也就是 page Fault。
此时需要查看Pages Read/sec的计数值,该计数器的阀值为5,如果计数值>5,则可以判断存在内存方面的问题。
如果这个页位于内存的其他位置,这种错误称为软错误,用Transition Fault/sec 来衡量;
如果这个页位于硬盘上,必须从硬盘重新读取,这个错误成为硬错误。硬错误会使系统的运行效率很快将下来。
Cathe Bytes:文件系统的缓存(默认为50%的可用物理内存)
内存泄露分析:1、如果怀疑有内存泄露,请监视 Memory/Available Bytes 和 Memory/ Committed Bytes,以观察内存行为,并监视你认为可能在泄露内存的进程的 Process/ Private Bytes、Process/ Working Set 和Process/ Handle Count。
2、如果怀疑是内核模式进程导致了泄露,则还应该监视 Memory/ Pool Nonpaged Bytes、Memory/ Pool Nonpaged Allocs 和 Process(process_name)/ Pool Nonpaged Bytes
如果发生了内存泄漏,process\private bytes计数器和process\working set 计数器的值往往会升高,同时avaiable bytes的值会降低