Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ten artykuł pomaga rozwiązać problemy z przekroczeniem limitu przydziału procesu WmiPrvse.exe .
Może wystąpić co najmniej jeden z następujących problemów:
Co najmniej jedna aplikacja zgłasza kody błędów lub komunikaty związane z błędami dostawcy instrumentacji zarządzania Windows (WMI) wymienionymi w stałej błędu usługi WMI.
Proces WmiPrvse.exe regularnie lub sporadycznie osiąga określoną pamięć, uchwyt lub wątek, a ostatecznie kończy działanie lub kończy działanie.
Następujące zdarzenia są rejestrowane w dzienniku zdarzeń aplikacji regularnie lub sporadycznie.
Uwaga 16.
Oto dwa przykłady zdarzeń. Opis zdarzenia może ulec zmianie w zależności od problemu związanego z procesem WmiPrvse.exe i zaangażowanymi dostawcami usługi WMI.
Log Name: Application Source: Microsoft-Windows-WMI Date: <DateTime> Event ID: 5612 Task Category: None Level: Warning Keywords: User: NETWORK SERVICE Computer: <MachineName> Description: Windows Management Instrumentation has stopped WMIPRVSE.EXE because a quota reached a warning value. Quota: PrivatePageCount Value: 538353664 Maximum value: 536870912 WMIPRVSE PID: 18524 Providers hosted in this process: %systemroot%\system32\wbem\ntevt.dll, %SystemRoot%\System32\wbem\cluswmi.dll, %SystemRoot%\System32\wbem\cluswmi.dll, %systemroot%\system32\wbem\cimwin32.dll
Log Name: Application Source: Microsoft-Windows-WMI Date: <DateTime> Event ID: 5612 Task Category: None Level: Warning Keywords: User: SYSTEM Computer: <MachineName> Description: Windows Management Instrumentation has stopped WMIPRVSE.EXE because a quota reached a warning value. Quota: HandleCount Value: 4099 Maximum value: 4096 WMIPRVSE PID: 4468 Providers hosted in this process: C:\Windows\System32\wbem\WmiPerfClass.dll, %systemroot%\system32\wbem\wmiprov.dll
Jeśli wystąpi co najmniej jeden z powyższych problemów (szczególnie identyfikator zdarzenia 5612), oznacza to, że jeden z procesów dostawcy usługi WMI (WmiPrvse.exe) przekroczył wstępnie zdefiniowaną wartość zasobu i że usługa WMI jawnie zatrzymała ją jako proces.
Zapytanie obsługiwane przez zatrzymany proces WmiPrvse.exe i aplikacja, która inicjuje proces, zakończy się niepowodzeniem.
Co to jest WmiPrvse.exe?
WmiPrvse.exe jest procesem w systemie operacyjnym Windows, który może hostować co najmniej jednego dostawcę WMI. Jest ona zarządzana przez usługę WMI. Każdy dostawca WMI zawiera przede wszystkim plik DLL dostawcy WMI i plik MOF dostawcy WMI. Dostawca WMI jest częścią infrastruktury usługi WMI, która akceptuje zadania z usługi WMI w celu adresowania lub obsługi zapytań WMI inicjowanych przez klientów lokalnych lub zdalnych.
Każdy proces WmiPrvse.exe ma wstępnie zdefiniowany próg lub limit przydziału zasobów, którego może używać, gdy jest aktywny. Na przykład:
HandlesPerHost
MemoryAllHosts
MemoryPerHost
ProcessLimitAllHosts
ThreadsPerHost
Wartości są definiowane jako wystąpienia w __ProviderHostQuotaConfiguration klasy WMI.
Identyfikator zdarzenia 5612
Identyfikator zdarzenia 5612 jest jednym z najbardziej opisowych i przydatnych komunikatów ostrzegawczych. W pierwszym przykładzie zdarzenia zgłaszają, że zasób PrivatePageCount
przekroczył limit przydziału 536870912 i osiągnął wartość 538353664.
Gdy wszystkie zasoby osiągną limit przydziału lub przekroczą wartość, usługa WMI, zgodnie z projektem, jawnie zatrzyma proces z dalszego zużycia.
W tym przykładzie zasób to PrivatePageCount
, jedna z jednostek pamięci, która jest ograniczona na host przez MemoryPerHost
właściwość .
Zdarzenie zawiera również listę różnych dostawców WMI hostowanych w zatrzymanych WmiPrvse.exe procesie.
%systemroot%\system32\wbem\ntevt.dll
%SystemRoot%\System32\wbem\cluswmi.dll
%SystemRoot%\System32\wbem\cluswmi.dll
%systemroot%\system32\wbem\cimwin32.dll
Wszyscy dostawcy wymienieni powyżej są nagle zatrzymani ze względu na problem.
Diagnozowanie problemu
Następujące scenariusze mogą powodować zdarzenie o identyfikatorze 5612:
- Aplikacja kliencka wykonuje nietypowe, nieefektywne lub duże zapytania.
- Proces WmiPrvse.exe nie zwalnia zasobów zgodnie z oczekiwaniami podczas przetwarzania zapytania usługi WMI, co prowadzi do przecieku pamięci i zatrzymuje proces WmiPrvse.exe.
- Skala maszyny lub konfiguracji środowiska jest duża.
Analizowanie zapytań przychodzących może pomóc w ustaleniu początkowej przyczyny i rozwiązaniu problemu. W przeciwnym razie wymagane jest dokładniejsze badanie przez otwarcie zgłoszenia do pomocy technicznej firmy Microsoft.
Aby zdiagnozować problem, wykonaj następujące kroki:
Omówienie wzorca problemu.
Przejrzyj dzienniki zdarzeń aplikacji i filtruj identyfikator zdarzenia 5612, aby zrozumieć częstotliwość, historię i wzorzec.
Zidentyfikuj typowych dostawców usługi WMI wymienionych w zdarzeniu.
Dostawcy wymienieni mogą być tacy sami we wszystkich zdarzeniach. Inną możliwością jest to, że jeden z dostawców zużywa więcej zasobów, powodując ten problem i zakłócając innych dostawców usługi WMI. W takim przypadku celem jest diagnozowanie i identyfikowanie problematycznego dostawcy.
Zidentyfikuj obecnie aktywnych dostawców usługi WMI hostowania tej samej listy dostawców usługi WMI.
Przeanalizuj zapytania przychodzące obsługiwane przez proces WmiPrvse.exe wymieniony w identyfikatorze zdarzenia 5612.
Zapoznaj się z krokami wymienionymi w sekcjach "Analizowanie zapytań przychodzących", "Przeglądanie plików śledzenia usługi WMI" i "Znajdowanie identyfikatorów PID klienta powodujących wysokie użycie procesora CPU" w temacie Rozwiązywanie problemów z wysokim użyciem procesora CPU w usłudze WMI. Następnie możesz zidentyfikować następujące elementy:
- Proces klienta (es)
- Zapytanie prowadzące do problemu
- Częstotliwość zapytania
- Proces klienta (es)
Aplikacja kliencka wykonuje nietypowe, nieefektywne lub duże zapytania
Gdy aplikacja kliencka wykonuje nieprawidłowe, nieefektywne lub duże zapytania, może prowadzić do korzystania z dużych ilości zasobów przez dostawcę usługi WMI.
Przejrzyj i dowiedz się, dlaczego aplikacja wykonuje to zapytanie i czy jest to konieczne. Jeśli nie jest to konieczne w danym środowisku, usuń aplikację lub zatrzymaj wykonywanie zapytania. Powinno to pomóc w rozwiązaniu problemu. To zachowanie można rozwiązać z dostawcą aplikacji.
Jeśli aplikacja jest znana lub oczekiwana do wykonania zapytań WMI, które prowadzą do procesu WmiPrvse.exe intensywnie zużywają jakiekolwiek zasoby, i nie ma pamięci ani nie ma przecieku obsługi z procesu WmiPrvse.exe, zwiększenie domyślnego limitu przydziału w celu dwukrotnego zwiększenia wartości domyślnej powinno rozwiązać tę sytuację.
Uwaga
- Ta zmiana jest skuteczna tylko wtedy, gdy nie ma wycieku żadnych zasobów. W przeciwnym razie problem (identyfikator zdarzenia 5612) zostanie opóźniony tylko przez pewien czas, a następnie rozpocznie się cyklicznie.
- Ta zmiana zostanie zastosowana do wszystkich dostawców usługi WMI w systemie. Oznacza to, że wszystkie procesy WmiPrvse.exe zaczną zużywać zasoby zgodnie z zastosowanym nowym limitem przydziału.
Zwiększenie domyślnego limitu przydziału może prowadzić do większego zużycia zasobów, takich jak pamięć, dojścia lub procesor CPU. W związku z tym nie zalecamy zwiększenia limitu przydziału bez wcześniejszego zbadania i zrozumienia problemu.
Aby zwiększyć limit przydziału, wykonaj następujące kroki:
Otwórz narzędzie Instrumentacja zarządzania Windows (WBEMTEST) jako administrator, wybierz pozycję Połącz i połącz się z przestrzenią nazw "root".
Wybierz pozycję Wystąpienia wyliczenia, wpisz __ProviderHostQuotaConfiguration w oknie dialogowym Informacje o klasie, a następnie wybierz przycisk OK. Zostanie wyświetlone okno Wynik zapytania. Następnie kliknij dwukrotnie pierwszy wynik, aby edytować obiekty.
W sekcji Właściwości przewiń w dół do listy wymienionej poniżej i zwiększ zasoby, modyfikując wartości tych właściwości.
W oknie Edytor obiektów wybierz pozycję Zapisz obiekt, zamknij okno Wynik zapytania, a następnie zamknij okno WBEMTEST.
Uruchom ponownie usługę WMI (Winmgmt), aby zmiany zaczęły obowiązywać.
Proces WmiPrvse.exe nie zwalnia zasobów zgodnie z oczekiwaniami
Jeśli proces WmiPrvse.exe nie zwalnia zasobów zgodnie z oczekiwaniami podczas przetwarzania zapytania usługi WMI, prowadzi do przecieku pamięci i zatrzymuje proces WmiPrvse.exe. Sprawdź przetworzone zapytanie i stos procesu WmiPrvse.exe , który powoduje problem.
Badanie zapytań przychodzących pomaga zrozumieć zachowanie procesu WmiPrvse.exe .
Jeśli problem nie powoduje żadnych aplikacji klienckich lub usług, sprawdź działanie procesu WmiPrvse.exe hostowanie dostawców zidentyfikowanych w identyfikatorze zdarzenia 5612.
Użyj Eksploratora procesów, aby przejrzeć wątki i stosy.
Uruchom Eksploratora procesów jako administrator i znajdź proces WmiPrvse.exe przy użyciu techniki wymienionej w sekcji Diagnozowanie problemu .
Przejdź do pozycji Właściwości i wybierz kartę Wątki .
Dla każdego wątku możesz przejrzeć stos i określić, czy znajdziesz jakiekolwiek pliki binarne lub pliki inne niż Microsoft.
Możesz zauważyć pliki binarne z oprogramowania, takiego jak oprogramowanie antywirusowe, oprogramowanie do monitorowania i oprogramowanie ochrony przed zagrożeniami. Mimo że te aplikacje oprogramowania korzystają ze środowiska, mogą czasami przerywać i powodować takie problemy. W związku z tym można je tymczasowo odinstalować i sprawdzić, czy problem występuje.
Jeśli usunięcie zidentyfikowanego produktu innego niż Microsoft pomoże rozwiązać ten problem, możesz rozwiązać to zachowanie produktu u dostawcy produktu.
Jeśli nie, skontaktuj się z specjalistami pomocy technicznej firmy Microsoft, aby przeanalizować śledzenie dziennika śledzenia zdarzeń (ETL) i przejrzeć zrzut dostawców usługi WMI.
Zbieranie danych
Przed otwarciem zgłoszenia do pomocy technicznej w celu dalszego zbadania problemu możesz zebrać informacje, wykonując kroki opisane w temacie Zbieranie informacji przy użyciu przewodnika rozwiązywania problemów z środowiskiem użytkownika.
Pobierz TSS.zip i wyodrębnij zawartość.
Uruchom śledzenie, uruchamiając następujące polecenie cmdlet z wiersza polecenia programu PowerShell z podwyższonym poziomem uprawnień.
.\TSS.ps1 -UEX_WMIAdvanced -noBasicLog
Zachowaj śledzenie do momentu odtworzenia błędu lub nawet identyfikatora lub zidentyfikowany problem WmiPrvSE.exe pojawi się. Nie uruchamiaj śledzenia przez ponad dwie do trzech minut.
Zatrzymaj śledzenie, postępując zgodnie z instrukcjami w wierszu polecenia programu PowerShell zgodnie z zestawem narzędzi TSS.
Skrypt utworzy plik zip zawierający wszystkie wyniki śledzenia i informacje diagnostyczne. Po utworzeniu zgłoszenia do pomocy technicznej ten plik można przekazać do bezpiecznego obszaru roboczego na potrzeby analizy.