Zbyt wiele żądań danych licznika wydajności przekroczyło limit czasu i zakończyło się niepowodzeniem.
Dostawca licznika wydajności dla tej usługi nie mógł zwrócić danych licznika wydajności w określonym limicie czasu zbierania danych. Ten okres różni się zależnie od licznika wydajności i można go zmienić.
Nie wpływa to na kondycję systemu, lecz tylko na możliwość zbierania danych licznika wydajności. Żadna zasada monitorująca ten licznik w celu generowania alertów nie zostanie włączona przed rozwiązaniem tego problemu.
Przykładowe zdarzenie:
Upłynął limit czasu oczekiwania funkcji zbierania danych dotyczących wydajności CollectSysProcessObjectData w bibliotece Perfproc.dll. Może istnieć problem obejmujący ten rozszerzalny licznik lub usługę, z której licznik zbiera dane, albo system mógł być zajęty w momencie podjęcia próby tego wywołania.
Powiązane zdarzenia:
Źródło: Perflib;
Identyfikator zdarzenia: 1015
Może istnieć problem obejmujący dostawcę licznika wydajności lub usługę, z której licznik zbiera dane, albo system mógł być zajęty w momencie wygenerowania żądania.
W przypadku napotkania problemów spowodowanych przekroczeniem limitu czasu otwierania lub zbierania danych można zmienić domyślny limit czasu otwarcia lub zbierania danych dla dostawcy albo usługi, która zgłasza błąd.
Domyślnym limitem czasu zbierania danych lub otwierania w systemie operacyjnym jest 10 s (mierzone w milisekundach) dla wszystkich usług. Aby zastąpić ten limit czasu dla poszczególnych usług, zmień wpis rejestru Open Timeout lub Collect Timeout.
Poniższa procedura dotyczy wpisu Collect Timeout, ale można również zastosować ją w przypadku wpisu Open Timeout.
Uwaga
Nieprawidłowa edycja rejestru może skutkować poważnym uszkodzeniem systemu. Przed wprowadzeniem zmian w rejestrze należy utworzyć kopię zapasową wszystkich wartościowych danych przechowywanych na komputerze.
Aby zmienić wpis rejestru Collect Timeout:
W menu Start kliknij przycisk Uruchom.
Wpisz regedit.exe, a następnie kliknij przycisk OK.
W edytorze rejestru przejdź do wpisu HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\%service-name%\Performance. Usługa dostawcy licznika wydajności, która nie mogła zwrócić danych licznika wydajności w określonym czasie zbierania danych jest oznaczona jako %nazwa-usługi%. Jeśli na przykład dostawca licznika wydajności dla usługi telefonii nie mógł zwrócić danych w określonym czasie zbierania danych, przejdź do wpisu HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Telephony\Performance.
Jeśli wpis istnieje, kliknij dwukrotnie wpis Collect Timeout.
W oknie dialogowym Edytowanie wartości DWORD zmień długość czasu w polu Dane wartości na wartość większą niż obecna. Domyślną wartością jest 10 s.
Jeśli wpis nie istnieje, utwórz go w następujący sposób:
a. W edytorze rejestru w menu Edycja kliknij przycisk Nowy.
b. Kliknij opcję Wartość DWORD.
c. Jako nazwę wartości wpisz Collect Timeout.
d. Kliknij dwukrotnie wartość Collect Timeout.
e. W oknie dialogowym Edytowanie wartości DWORD wprowadź w polu Dane wartości wartość większą niż obecna. Domyślną wartością jest 10 s.
Więcej informacji na temat monitorowania niezawodności i wydajności można znaleźć w witrynie sieci Web Microsoft TechNet pod adresem http://go.microsoft.com/fwlink/?LinkId=27756.
Więcej informacji na temat niedostępności licznika wydajności znajduje się w bazie wiedzy Knowledge Base w artykule 275659 „Corrupted Performance Counters May Disappear or Be Unavailable to Perfmon” (Uszkodzone liczniki wydajności mogą zniknąć lub być niedostępne dla monitora Perfmon) pod adresem http://go.microsoft.com/fwlink/?LinkId=27763.
Więcej informacji na temat rozwiązywania problemów z licznikami wydajności znajduje się w bazie wiedzy Microsoft Knowledge Base w artykule: 152513 „Troubleshooting Performance Monitor Counter Problems” (Rozwiązywanie problemów z licznikiem monitora wydajności) pod adresem 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>