太多的效能計數器資料要求逾時且失敗
此服務的效能計數器提供者無法在指定的收集逾時期間內傳回效能計數器資料。 此期間因每個效能計數器而異,且可以變更。
系統健全狀況並不受影響,只有收集效能計數器資料的功能才會受影響。 在此問題解決之前,將不會啟用任何監視此計數器以產生警示的規則。
範例事件:
等待 Perfproc.dll 程式庫中效能資料集合函數 CollectSysProcessObjectData 的逾時已到期。 可能是此延伸計數器或從中收集資料的服務發生問題,或者在嘗試此呼叫時系統過於忙碌。
相關事件:
來源: Perflib;
事件識別碼: 1015
可能是效能計數器提供者或從中收集資料的服務發生問題,或者在產生要求時系統過於忙碌。
如果是因為開啟或收集逾時而發生問題,您可以變更提供者或報告該錯誤的服務之預設開啟或收集逾時期間。
根據預設值,作業系統對所有服務都使用 10 秒的相同收集或開啟逾時期間 (以毫秒為單位進行測量)。 若要覆寫個別服務的此逾時期間,請變更 Open Timeout 或 Collect Timeout 登錄項目。
下列程序適用於 Collect Timeout 項目,但相同程序也適用於 Open Timeout 項目。
注意
不當編輯登錄可能會對系統造成嚴重損害。 在變更登錄前,您應先備份電腦上任何重要的資料。
若要變更 Collect Timeout 登錄項目:
在 [開始] 功能表中按一下 [執行]。
輸入 regedit.exe,然後按一下 [確定]。
在登錄編輯程式中瀏覽至 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\%service-name%\Performance。 無法在指定集合期間傳回效能計數器資料的效能計數器提供者服務,是以 %service-name% 進行識別。 例如,如果電話語音服務的效能計數器提供者無法在指定集合期間傳回效能計數器資料,請瀏覽至 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Telephony\Performance。
如果該項目存在,請按兩下 [Collect Timeout] 項目。
在 [編輯 DWORD 值] 對話方塊中,將 [數值資料] 方塊中的時間長度變更為大於目前的值。 預設值為 10 秒。
如果該項目不存在,請依下列步驟建立項目:
a. 在登錄編輯程式中的 [編輯] 功能表上,按一下 [新增]。
b. 按一下 [DWORD 值]。
c. 輸入 Collect Timeout 做為值名稱。
d. 按兩下 [Collect Timeout]。
e. 在 [編輯 DWORD 值] 對話方塊的 [數值資料] 方塊中,輸入大於目前數值的時間長度。 預設值為 10 秒。
如需關於監視效能與可靠性的詳細資訊,請參閱 Microsoft TechNet 網站,網址為: http://go.microsoft.com/fwlink/?LinkId=27756。
如需關於無法使用效能計數器的詳細資訊,請參閱知識庫文件編號 275659<Corrupted Performance Counters May Disappear or Be Unavailable to Perfmon>(損毀的效能計數器可能會消失或無法供 Perfmon 使用),網址為 http://go.microsoft.com/fwlink/?LinkId=27763。
如需關於效能計數器疑難排解的詳細資訊,請參閱 Microsoft 知識庫文章 152513<Troubleshooting Performance Monitor Counter Problems>(效能監視器計數器問題疑難排解),網址為 http://go.microsoft.com/fwlink/?LinkId=30322。
Target | Microsoft.Windows.Server.2008.OperatingSystem | ||
Category | EventCollection | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Remotable | True | ||
Alert Message |
| ||
Event Log | Application |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
EventDS | DataSource | Microsoft.Windows.EventProvider | Default |
GenerateAlert | WriteAction | System.Health.GenerateAlert | Default |
<Rule ID="Microsoft.Windows.Server.2008.OperatingSystem.PerfCounterDataRequestTimeOut.Alert" Enabled="true" Target="Server2008!Microsoft.Windows.Server.2008.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>EventSourceName</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.2008.OperatingSystem.PerfCounterDataRequestTimeOut.Alert.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>