首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >常见的WQL监视查询

常见的WQL监视查询
EN

Server Fault用户
提问于 2009-08-16 18:06:08
回答 1查看 6.5K关注 0票数 14

您将使用什么WQL查询来监视典型的Windows瓶颈?您会使用哪些数据来获取类似于“top”或“netstat”的数据?你会在几点进行投票?

这里有一些我觉得有帮助的。

代码语言:javascript
复制
SELECT PercentDiskTime, AvgDiskQueueLength, DiskReadBytesPerSec, DiskWriteBytesPerSec FROM Win32_PerfFormattedData_PerfDisk_PhysicalDisk

SELECT Caption, CommittedBytes, AvailableBytes, PercentCommittedBytesInUse, PagesPerSec, PageFaultsPerSec FROM Win32_PerfFormattedData_PerfOS_Memory

SELECT PercentProcessorTime FROM Win32_PerfFormattedData_PerfOS_Processor

SELECT Caption, WorkingSet, PageFaultsPerSec,IOReadBytesPerSec, IOWriteBytesPerSec, ThreadCount, HandleCount FROM Win32_PerfFormattedData_PerfProc_Process

SELECT Caption, BytesReceivedPerSec, BytesSentPerSec FROM Win32_PerfFormattedData_Tcpip_NetworkInterface
EN

回答 1

Server Fault用户

发布于 2009-08-18 10:23:45

这是一个真正伟大的问题,很遗憾它没有得到更多的爱!

我的瓶颈分析的基本理论是将系统看作一个有处理器、内存、磁盘和网络四种有限资源的盒子。因此,我想得到每个基本数字,以确定盒子的健康状况。我想要容易理解的数字:高是坏,低是好。0是最好的,虽然永远不可能完全实现(毕竟我们买了电脑来做工作,嗯?)一旦我看到了这四种资源中的哪一种是主要的瓶颈,我就可以着手确定哪个程序或进程正在消耗所有的资源,并就是否需要增加该资源做出明智的决定--或者调整程序/进程以减少对资源的使用。

我将使用来自这篇文章的主要性能计数器格式化为WMIC查询,因为不需要脚本(尽管这是可能的!)您可以将这些查询中的每一个直接输入cmd控制台:

代码语言:javascript
复制
wmic path Win32_PerfFormattedData_PerfOS_System get ProcessorQueueLength

上面是处理器队列长度。它告诉CPU在队列中等待处理的线程有多少。高数字不好,低数字好。一般来说,我认为一个值<10是一个健康的系统。

代码语言:javascript
复制
wmic path Win32_PerfFormattedData_PerfOS_Memory get PagesInputPerSec

上面是内存,每秒输入的页面,从磁盘读取页面的速度,以解决硬页错误。当进程引用虚拟内存中没有物理内存且必须从磁盘检索的页时,就会发生硬页错误。不过,这个计数器在Perfmon的图形视图中工作得最好。在健康(而不是瓶颈)计算机上,当数据从磁盘读取到RAM中时,您会看到偶尔出现的尖峰,您看到的尖峰越多,它们越高,系统内存受到的限制就越大。如果系统在非零值下停留的时间通常超过5秒,那么您可能有一个内存瓶颈系统。

代码语言:javascript
复制
wmic path Win32_PerfFormattedData_PerfDisk_PhysicalDisk get AvgDiskQueueLength, name

上面是PhysicalDisk,平均磁盘队列长度。我认为这是系统健康状况的关键指标,因为内存瓶颈也会因为过多的分页文件交换而使磁盘陷入困境--而且还常常会提高CPU利用率。它将显示每个挂载磁盘的项目以及所有磁盘的总数。一个性能良好的单个磁盘的这个值将在2或更低。对于数组,将纺锤数除以队列长度(例如:数组中的4个纺锤体除以8= 2的队列长度,这意味着数组性能良好)。

代码语言:javascript
复制
wmic path Win32_PerfFormattedData_Tcpip_NetworkInterface get OutputQueueLength, PacketsReceivedErrors, Name, currentbandwidth

最后,以上是NIC的表演。具体而言,网络接口、输出队列长度和数据包接收错误。这两个计数器让我们知道有多少数据包等待发送,以及有多少入站数据包导致可能导致重传的错误。我们希望这两个数字都保持在零。在这个查询中,我还获得了NIC的当前带宽,这是非常有用的信息。

一旦确定了哪些资源被过度使用,我通常依赖于过程资源管理器或Perfmon的process对象来发现哪个进程是资源占优势的。

票数 8
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/54753

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档