性能计数器数据的太多请求已失败

Microsoft.Windows.Server.2003.OperatingSystem.PerfCounterDataRequestTimeOut.Alert (Rule)

性能计数器数据的太多请求已超时且已失败。

Knowledge Base article:

摘要

此服务的性能计数器提供程序无法在指定的收集超时期间内返回性能计数器数据。此期间对各个性能计数器各不相同,并且可以更改。

系统运行状况不受影响,只是无法收集性能计数器数据。在此问题解决之前,任何监视此计数器以发出警报的规则将不被激活。

示例事件:

Perfproc.dll 库中的性能数据收集函数 CollectSysProcessObjectData 的超时等待已过期。可能是可扩展计数器或从中收集数据的服务存在错误,也可能是尝试此调用时,系统正忙。

相关事件:

来源:Perflib;

事件 ID:1015

原因

可能是因为性能计数器提供程序或从中收集数据的服务发生问题,也可能是请求生成时系统正忙。

解决方法

如果由于打开或收集超时而发生问题,你可以更改报告错误的提供程序或服务的默认打开或收集超时期间。

默认情况下,操作系统对所有服务均使用 10 秒钟(以毫秒计)的收集或打开超时期间。要为单个服务更改此超时期间,请更改 Open Timeout 或 Collect Timeout 注册表项。

以下步骤适用于 Collect Timeout 项,也可用于 Open Timeout 项。

警告

注册表编辑不当可能会严重损坏你的系统。在更改注册表之前,你应该备份计算机上任何有价值的数据。

更改 Collect Timeout 注册表项:

外部

有关性能和可靠性监视的详细信息,请参阅 Microsoft TechNet 网站 http://go.microsoft.com/fwlink/?LinkId=27756

有关性能计数器不可用性的详细信息,请参阅知识库文章 275659“损坏的性能计数器可能消失或无法用于 Perfmon”,网址为 http://go.microsoft.com/fwlink/?LinkId=27763

有关性能计数器疑难解答的详细信息,请参阅 Microsoft 知识库文章:152513,“解决性能监视器计数器问题”,网址为 http://go.microsoft.com/fwlink/?LinkId=30322

Element properties:

TargetMicrosoft.Windows.Server.2003.OperatingSystem
CategoryEventCollection
EnabledTrue
Event_ID1015
Event SourcePerflib
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
RemotableTrue
Alert Message
性能计数器数据的太多请求已超时
{0}
Event LogApplication

Member Modules:

ID Module Type TypeId RunAs 
EventDS DataSource Microsoft.Windows.EventProvider Default
GenerateAlert WriteAction System.Health.GenerateAlert Default

Source Code:

<Rule ID="Microsoft.Windows.Server.2003.OperatingSystem.PerfCounterDataRequestTimeOut.Alert" Enabled="true" Target="Microsoft.Windows.Server.2003.OperatingSystem" ConfirmDelivery="true">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="EventDS" TypeID="Windows!Microsoft.Windows.EventProvider">
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>Application</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>Perflib</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>1015</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="SystemHealth!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>2</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.Windows.Server.2003.OperatingSystem.PerfCounterDataRequestTimeOut.Alert.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>