windows性能计数器
网上有许多的关于性能计数器的文章介绍,本人发现它们大多数仅仅是对计数器概念做一个说明,今天心血来潮,写一下自己对性能计数器的理解。
以下是本人常用的计数器以及说明:
System\Processor Queue Length:CPU的请求队列数,长时间大于服务器CPU核数,表面上是CPU出现瓶颈,但这不是唯一结果,需要查看其他性能计数器才能确认CPU是否出现瓶颈。
System\Context Switches/sec:上下文切换,这个计数器的平均值大于CPU核数*5000,代表着上下文切换频繁,可能是服务器中安装了过多的应用程序或需要改变算法。
Processor(_Total)\% User Time:全部应用程序的CPU占用率,% User Time<=30%优秀,30<% User Time<=50%良好,50<% User Time<=80%一般,80%<% User Time CPU紧张。
Processor(_Total)\% Processor Time:全部应用程序+系统的CPU占用率
Processor(_Total)\% Privileged Time:系统的CPU占用率
Process(sqlservr)\% User Time:SQLSERVER的CPU占用率。这个值在多核系统中会超过100%,计算方法是:Process(sqlservr)\% User Time/CPU核数。
Process(_Total)\% Processor Time:所有CPU占用率,这个值在多核系统中会超过100%。包含空闲线程的CPU占用率
Process(_Total)\% Privileged Time:空闲线程的CPU占用率+系统的CPU占用率,这个值在多核系统中会超过100%。
PhysicalDisk(_Total)\Avg. Disk Read Queue Length:磁盘的读取队列,网上说不能超过10.
PhysicalDisk(_Total)\% Disk Time:磁盘的使用率,网上说单个磁盘不能超过80%。服务器有磁盘阵列则会大于100%。
PhysicalDisk(_Total)\Avg. Disk Write Queue Length:磁盘的写入队列,网上说不能超过10.
PhysicalDisk(_Total)\Avg. Disk Queue Length:磁盘的平均请求队列。
Memory\Page Reads/sec:内存访问磁盘的频率
Memory\Pages/sec:磁盘读取或写入到磁盘的页面数量
Memory\Page Faults/sec:硬页错误和软页错误之和
Memory\Available MBytes:可用内存,单位MB。