Høy CPU-bruk av WMIPRVSE.EXE-prosess og med jevne mellomrom i Windows

  • 11/16/2020
  • 3 minutter på å lese
    • D
    • x

Denne artikkelen gir deg en midlertidig løsning for utstedelse av høy CPU-bruk av WMIPRVSE.EXE prosessen med jevne mellomrom.,

Originale produkt-versjon: Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Vindu 10 – alle versjoner
Opprinnelige KB-nummer: 4483874

Symptomene

Når du bruker en Windows-basert datamaskin, kan du se at Windows Management Instrumentation (WMI) Leverandør Vert (WmiPrvSE.exe) – prosessen er å bruke høy CPU-kapasitet (nær 100 prosent) i flere minutter hver på 15 til 20 minutter.

Når dette problemet oppstår, kan du bruke oppgavebehandling til å identifisere prosessen identifikator (PID) av WMIPRVSE.EXE prosess som er tidkrevende høy CPU., Så, åpne en ledetekst, og kjør følgende kommando:

tasklist /m wmiperfclass.dll

listen over WMIPRVSE.EXE-prosesser som har denne modulen lastes inn vil bli vist. Vanligvis bare ett prosessen er oppført. Hvis du imidlertid har både 32-biters og 64-bits klienter, kan du se to prosesser. Dette er eksempel på output:

bildenavn PID Moduler
========== ======== ==========================
WmiPrvSE.exe-2140 WmiPerfClass.,dll –

– >

Hvis PID av den nevnte prosessen samsvarer med den som du fant i Oppgave Manager, er det sannsynlig at du opplever problemet som er beskrevet i denne artikkelen.

Føre

Dette problemet kan være forårsaket av en av følgende faktorer.

En eller flere prosesser ved hjelp av et høyt antall av håndtak

Alle håndtakene er lagret i kjernen struktur \BaseNamedObjects. Den WMIPerfClass leverandør må skanne denne strukturen ved å skape resultater klasse som er relatert til Jobben objekter.,

Hvis denne strukturen er oppblåst på grunn av det høye antallet av håndtak, drift vil ha høy CPU-bruk og vil ta lengre tid enn vanlig.

Du kan forvente en effekt for denne tilstanden når en prosess er å bruke mer enn rundt 30 000 håndtak, eller totalt antall håndtak på systemet overstiger 50 000 dollar.

En oppdatering som er utgitt i Mars 2020 for støttede versjoner av operativsystemet inneholder noen optimalisering av ytelsen til og adresser noen varianter av dette problemet. Se Windows-Oppdateringer historie for mer informasjon om oppdateringen som gjelder for din Windows-versjon.,

En eller flere prosesser som kjører på systemet bruker mye minne

Dette påvirker etableringen av Prosessen ytelse klasser fordi minnet området av hver prosess er nødt til å bli avhørt. Minne som brukes av prosessen, kan være fragmentert, og dette gjør driften mer ressurskrevende. Dette skjer fordi WMIPerfClass er også spørre «Kostbare» ytelse tellere.,

Du kan sjekke om Kostbar ytelse tellere er aktivert ved å kjøre følgende PowerShell kommando:

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

Hvis kommandoen returnerer resultatene, betyr dette den Kostbare ytelse tellere som er aktivert.,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 Å løse problemet, identifisere prosessen det er å bruke et stort antall av håndtak eller en stor mengde minne., Prosessen kan ha en minnelekkasje eller et håndtak lekkasje problemet. Som en midlertidig løsning, starter prosessen på nytt.

som standard hvis du bruker Windows Server 2016 eller en senere versjon av Windows, Kostbar ytelse tellere er deaktivert starter fra følgende Kumulative Oppdateringer:

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

Merk

Etter den kumulative oppdateringen er installert, hvis du trenger klasser som er relatert til den Kostbare ytelse tellere, sett verdien Aktivere Kostbare Leverandører til 1 (DWORD) under følgende undernøkkel i registret for å gjøre dem tilgjengelig igjen:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Wbem

Den kumulative oppdateringen vil ikke påvirke atferd når en prosess ved hjelp av et stort antall av håndtak.

Dette problemet skjer når en klient er å sende en spørring til ytelse klasser., Dette er vanligvis en overvåking program.

Som en midlertidig løsning, kan du også deaktivere overvåking program for å hindre etableringen av ytelse klasser.

få Mer informasjon

WMI gir flere resultater klasser. For mer informasjon, se ytelsesteller Klasser.

Disse klassene er opprettet dynamisk basert på Ytelse Tellere som er tilgjengelige på systemet. Alle klasser er opprettet på samme tid, ikke bare de klasser som blir avhørt.,

WMIPerfClass er den modulen som håndterer å lage disse klassene når WMI-klient spørringer noen av dem eller nummererer de tilgjengelige klasser.

Disse ytelse klasser er lagret i cache som er ugyldig etter 15 til 20 minutter. Så snart som hurtigbuffer er ugyldig, ytelse klasser må opprettes på nytt hvis en klient om dem.

Opprette ytelsen klasser betyr at WMIPerfClass.dll-modulen er nødt til å bli lagt inne i en WMIPRVSE.EXE-prosessen og den tilhørende koden kjøres.

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *