høj CPU-forbrug af .miprvse.EXE proces med regelmæssige mellemrum i Windows

  • 11/16/2020
  • 3 minutter til at læse
    • D
    • x

Denne artikel giver en workaround for problemet med et højt CPU-brug af WMIPRVSE.E processe proces med jævne mellemrum.,

Oprindelige produkt-version: Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Vindue 10 – alle udgaver
Oprindelige KB-nummer: 4483874

Symptomer

Når du bruger en Windows-baseret computer, kan du bemærke, at Windows Management Instrumentation (WMI) – Provider Host (WmiPrvSE.e .e) proces bruger høj CPU-kapacitet (tæt på 100 procent) i flere minutter hver 15 til 20 minutter.

Når problemet opstår, skal du bruge Task Manager til at identificere procesidentifikatoren (PID) for processmiprvse.E .e proces, der bruger høj CPU., Åbn derefter en forhøjet kommandoprompt og kør følgende kommando:

tasklist /m wmiperfclass.dll

listen over .miprvse.E .e-processer, der har indlæst dette modul, vises. Normalt er kun en proces opført. Men hvis du har både 32-bit og 64-bit klienter, kan du se to processer. Dette er eksempel på output:

procesnavn PID Moduler.
========== ======== ==========================
WmiPrvSE.e 21e 2140 WmiPerfClass.,dll

Hvis PID ‘ en for den listede proces matcher den, du fandt i Task Manager, er det sandsynligt, at du støder på det problem, der er beskrevet i denne artikel.

årsag

dette problem kan skyldes en af følgende faktorer.

en eller flere processer bruger et stort antal håndtag

alle håndtagene gemmes i kernestrukturen \BaseNamedObjects. Providermiperfclass-udbyderen skal scanne denne struktur, når du opretter præstationsklassen, der er relateret til Jobobjekterne.,

Hvis denne struktur er oppustet på grund af det store antal håndtag, vil operationen have høj CPU-brug og vil tage længere tid end normalt.

Du kan forvente en indvirkning på denne tilstand, når en proces bruger mere end omkring 30.000 håndtag, eller det samlede antal håndtag på systemet overstiger 50.000.

en opdatering, der frigives i marts 2020 for understøttede operativsystemversioner, inkluderer nogle ydelsesoptimering og adresserer nogle varianter af dette problem. Se historyindo .s-Opdateringshistorikken for at få flere oplysninger om den opdatering, der gælder for din .indo .s-version.,

en eller flere processer, der kører på systemet, bruger masser af hukommelse

dette påvirker oprettelsen af Process performance classes, fordi hukommelsesområdet for hver kørende proces skal spørges. Hukommelsen, der bruges af processen, kan være fragmenteret, og det gør operationen mere ressourcekrævende. Dette sker, fordi .miperfclass også forespørger “dyre” ydelsestællere.,

Du kan kontrollere, om Dyre performance counters er aktiveret, ved at køre følgende PowerShell-kommando:

‎ (gwmi -query 'select * from meta_class').Name | ? { $_ -match "costly"} 

Hvis kommandoen returnerer resultaterne, dette indikerer, at Dyre performance counters, der er aktiveret.,d=”77921f1d55″>

Win32_PerfFormattedData_PerfProc_fullimage_costly
Win32_PerfRawData_PerfProc_FullImage_costly
Win32_PerfFormattedData_PerfProc_image_costly
Win32_PerfRawData_PerfProc_Image_costly
Win32_PerfFormattedData_PerfProc_processaddressspace_costly
Win32_PerfRawData_PerfProc_Processaddressspace_costly
Win32_PerfFormattedData_PerfProc_threaddetails_costly
Win32_PerfRawData_PerfProc_Threaddetails_costly

Løsningen

for At løse problemet, afdække den proces, som ved hjælp af et stort antal håndtag eller en stor mængde hukommelse., Processen kan have en hukommelseslækage eller et håndtag lækage problem. Genstart processen som en løsning.

Som standard, hvis du bruger Windows Server 2016 eller en nyere version af Windows, Dyre performance counters er deaktiveret fra det følgende Kumulative Opdateringer:

  • Windows Server 2016 / Windows version 10 1607 (RS1)
    18 oktober 2018—KB4462928 (OS Bygge 14393.2580)
  • Windows version 10 1703 (RS2)
    24 juli 2018—KB4338827 (OS Bygge 15063.1235)
  • Windows-10 version 1709 (RS3)
    24 juli 2018—KB4338817 (OS Bygge 16299.,579)
  • Windows-10 version 1803 (RS4)
    16 juli 2018—KB4345421 (OS Bygge 17134.167)

Bemærk!

Efter den kumulative opdatering er installeret, hvis du har brug for de klasser, der er relateret til de Dyre performance counters, skal du indstille værdien Aktivere Dyre Udbydere til 1 (DWORD) under følgende undernøgle i registreringsdatabasen for at gøre dem tilgængelige igen:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Wbem

Den kumulative opdatering vil ikke påvirke adfærd, når en proces er at bruge et stort antal håndtag.

dette problem sker, når en klient spørger om præstationsklasserne., Dette er normalt en overvågningsapplikation.

som en løsning kan du også deaktivere overvågningsprogrammet for at forhindre oprettelsen af præstationsklasserne.

mere information

WMI giver flere præstationsklasser. For mere information, se Performance Counter klasser.

disse klasser oprettes dynamisk baseret på de ydelsestællere, der er tilgængelige på systemet. Alle klasser oprettes på samme tid, ikke kun de klasser, der bliver spurgt.,iperfclass er modulet, der håndterer oprettelse af disse klasser, når themi-klienten spørger nogen af dem eller opregner de tilgængelige klasser.

disse præstationsklasser gemmes i en cache, der er ugyldiggjort efter 15 til 20 minutter. Så snart cachen er ugyldiggjort, skal præstationsklasserne oprettes igen, hvis en klient anmoder om dem.

oprettelse af ydeevne klasser betyder, at WMIPerfClass.dll-modul skal indlæses inde i en .miprvse.E .e proces og den tilhørende kode udført.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *