Windows 系统指标分析 Memory:内存使用情况可能是系统性能中最重要的因素如果系统页交换频繁说明内存不足页交换是使用称为页面的单位将固定大小的代码和数据块从 RAM 移动到磁盘的过程其目的是为了释放内存空间尽管某些页交换使 Windows 能够使用比实际更多的内存也是可以接受的但频繁的页交换将降低系统性能减少页交换将显着提高系统响应速度要监视内存不足的状况请从以下的对象计数器开始 Available Mbytes:可用物理内存数 如果Available Mbytes的值很小( MB 或更小)则说明计算机上总的内存可能不足或某程序没有释放内存 page/sec: 表明由于硬件页面错误而从磁盘取出的页面数或由于页面错误而写入磁盘以释放工作集空间的页面数一般如果pages/sec持续高于几百那么您应该进一步研究页交换活动有可能需要加增内存以减少换页的需求(你可以把这个数字乘以k就得到由此引起的硬盘数据流量)Pages/sec 的值很大不一定表明内存有问题而可能是运行使用内存映射文件的程序所致 page read/sec:页的硬故障page/sec的子集为了解析对内存的引用必须读取页文件的次数阈值为> 越低越好大数值表示磁盘读而不是缓存读 由于过多的页交换要使用大量的硬盘空间因此有可能将导致将页交换内存不足与导致页交换的磁盘瓶径混淆因此在研究内存不足不太明显的页交换的原因时您必须跟蹤如下的磁盘使用情况计数器和内存计数器 Physical Disk\ % Disk Time Physical Disk\ AvgDisk Queue Length 例如包括 Page Reads/sec 和 % Disk Time 及 AvgDisk Queue Length如果页面读取操作速率很低同时 % Disk Time 和 AvgDisk Queue Length的值很高则可能有磁盘瓶径但是如果队列长度增加的同时页面读取速率并未降低则内存不足 要确定过多的页交换对磁盘活动的影响请将 Physical Disk\ AvgDisk sec/Transfer 和 Memory\ Pages/sec 计数器的值增大数倍如果这些计数器的计数结果超过了 那么页交换将花费百分之十以上的磁盘访问时间如果长时间发生这种情况那么您可能需要更多的内存 Page Faults/sec:每秒软性页面失效的数目(包括有些可以直接在内存中满足而有些需要从硬盘读取)较page/sec只表明数据不能在内存的指定工作集中立即使用 Cache Bytes文件系统缓存(File System Cache)默认情况下为%的可用物理内存如IIS 运行内存不够时它会自动整理缓存需要关注该计数器的趋势变化 如果您怀疑有内存洩露请监视 Memory\ Available Bytes 和 Memory\ Committed Bytes以观察内存行为并监视您认为可能在洩露内存的进程的 Process\Private BytesProcess\Working Set 和Process\Handle Count如果您怀疑是内核模式进程导致了洩露则还应该监视 Memory\Pool Nonpaged BytesMemory\ Pool Nonpaged Allocs 和 Process(process_name)\ Pool Nonpaged Bytes Pages per second :每秒钟检索的页数该数字应少于每秒一页 Process %Processor Time: 被处理器消耗的处理器时间数量如果服务器专用于sql server可接受的最大上限是% Page Faults/sec:将进程产生的页故障与系统产生的相比较以判断这个进程对系统页故障产生的影响 Work set: 处理线程最近使用的内存页反映了每一个进程使用的内存页的数量如果服务器有足够的空闲内存页就会被留在工作集中当自由内存少于一个特定的阈值时页就会被清除出工作集 Inetinfo:Private Bytes:此进程所分配的无法与其它进程共享的当前字节数量如果系统性能随着时间而降低则此计数器可以是内存洩漏的最佳指示器 Processor监视处理器和系统对象计数器可以提供关于处理器使用的有价值的信息帮助您决定是否存在瓶颈 %Processor Time:如果该值持续超过%表明瓶颈是CPU可以考虑增加一个处理器或换一个更快的处理器 %User Time:表示耗费CPU的数据库操作如排序执行aggregate functions等如果该值很高可考虑增加索引尽量使用简单的表联接水平分割大表格等方法来降低该值 %Privileged Time(CPU内核时间)是在特权模式下处理线程执行代码所花时间的百分比如果该参数值和Physical Disk参数值一直很高表明I/O有问题可考虑更换更快的硬盘系统另外设置Tempdb in RAM减低max async IOmax lazy writer IO等措施都会降低该值 此外跟蹤计算机的服务器工作队列当前长度的 Server Work Queues\ Queue Length 计数器会显示出处理器瓶颈队列长度持续大于 则表示可能出现处理器拥塞此计数器是特定时间的值而不是一段时间的平均值 % DPC Time:越低越好在多处理器系统中如果这个值大于%并且Processor:% Processor Time非常高加入一个网卡可能会提高性能提供的网络已经不饱和 Thread ContextSwitches/sec: (实例化inetinfo 和dllhost 进程) 如果你决定要增加线程字节池的大小你应该监视这三个计数器(包括上面的一个)增加线程数可能会增加上下文切换次数这样性能不会上升反而会下降如果十个实例的上下文切换值非常高就应该减小线程字节池的大小 Physical Disk: %Disk Time %:指所选磁盘驱动器忙于为读或写入请求提供服务所用的时间的百分比如果三个计数器都比较大那么硬盘不是瓶颈如果只有%Disk Time比较大另外两个都比较适中硬盘可能会是瓶颈在记录该计数器之前请在Windows 的命令行窗口中运行diskperf yD若数值持续超过%则可能是内存洩漏 AvgDisk Queue Length:指读取和写入请求(为所选磁盘在实例间隔中列队的)的平均数该值应不超过磁盘数的~ 倍要提高性能可增加磁盘注意一个Raid Disk实际有多个磁盘 Average Disk Read/Write Queue Length:指读取(写入)请求(列队)的平均数 Disk Reads(Writes)/s: 物理磁盘上每秒钟磁盘读写的次数两者相加应小于磁盘设备最大容量 Average Disksec/Read: 指以秒计算的在此盘上读取数据的所需平均时间 Average Disk sec/Transfer:指以秒计算的在此盘上写入数据的所需平均时间 Network Interface Bytes Total/sec :为发送和接收字节的速率包括帧字符在内判断网络连接速度是否是瓶颈可以用该计数器的值和目前网络的带宽比较 |