utilizare ridicată a procesorului de către WMIPRVSE.EXE proces la intervale regulate în Windows

  • 11/16/2020
  • 3 minute pentru a citi
    • D
    • x

Acest articol oferă o soluție pentru problema din utilizarea PROCESORULUI de mare de WMIPRVSE.Procesul EXE la intervale regulate.,

produs Original versiune: Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Ferestre de 10 toate edițiile
Original KB număr: 4483874

Simptome

atunci Când utilizați un computer bazat pe Windows, observați că Windows Management Instrumentation (WMI) Provider Host (WmiPrvSE.exe) proces utilizează o capacitate mare a procesorului (aproape de 100 la sută) timp de câteva minute la fiecare 15 până la 20 de minute.când apare problema, utilizați Task Manager pentru a identifica identificatorul de proces (PID) al wmiprvse.Proces EXE care consumă CPU ridicat., Apoi, deschideți un prompt de comandă ridicat și executați următoarea comandă:

tasklist /m wmiperfclass.dll

lista WMIPRVSE.Vor fi afișate procesele EXE care au acest modul încărcat. De obicei, este listat un singur proces. Cu toate acestea, dacă aveți clienți pe 32 de biți și pe 64 de biți, este posibil să vedeți două procese. Acesta este exemplu de ieșire:

Nume imagine PID module
========== ======== ==========================
WmiPrvSE.exe 2140 WmiPerfClass.,dll

dacă PID-ul procesului listat se potrivește cu cel pe care l-ați găsit în Task Manager, este posibil să întâlniți problema descrisă în acest articol.

cauza

această problemă poate fi cauzată de oricare dintre următorii factori.

unul sau mai multe procese folosesc un număr mare de mânere

toate mânerele sunt stocate în structura kernel-ului \BaseNamedObjects. Furnizorul WMIPerfClass trebuie să scaneze această structură atunci când creează clasa de performanță care este legată de obiectele Job.,dacă această structură este umflată din cauza numărului mare de mânere, operația va avea o utilizare ridicată a procesorului și va dura mai mult decât în mod normal.vă puteți aștepta la un impact pentru această condiție atunci când un proces utilizează mai mult de aproximativ 30.000 de mânere sau numărul total de mânere din sistem depășește 50.000.

o actualizare care este lansată în martie 2020 pentru versiunile de sistem de operare acceptate include unele optimizări de performanță și abordează unele variante ale acestei probleme. Consultați istoricul actualizărilor Windows pentru mai multe informații despre actualizarea care se aplică versiunii dvs.,

unul sau mai multe procese care rulează pe sistem folosesc multă memorie

Acest lucru afectează crearea claselor de performanță a procesului, deoarece zona de memorie a fiecărui proces de rulare va trebui interogată. Memoria folosită de proces poate fi fragmentată, iar acest lucru face ca operațiunea să fie mai intensă din punct de vedere al resurselor. Acest lucru se întâmplă deoarece wmiperfclass interoghează și contoare de performanță „costisitoare”.,puteți verifica dacă contoarele de performanță costisitoare sunt activate rulând următoarea comandă PowerShell:

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

dacă comanda returnează rezultate, aceasta indică contoarele de performanță costisitoare care sunt activate.,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

Soluție

Pentru a repara problema, de a identifica procesul care folosește un număr mare de mânere sau o cantitate mare de memorie., Procesul poate avea o scurgere de memorie sau o problemă de scurgere mâner. Ca soluție, reporniți procesul.

în mod implicit dacă utilizați Windows Server 2016 sau o versiune mai recentă de Windows, Costisitoare performance counters sunt dezactivate pornind de la următoarele Actualizări Cumulative:

  • Windows Server 2016 / Windows 10 versiunea 1607 (RS1)
    18 octombrie 2018—KB4462928 (OS Construi 14393.2580)
  • Windows 10 versiunea 1703 (RS2)
    24 iulie 2018—KB4338827 (OS Construi 15063.1235)
  • Windows 10 versiunea 1709 (RS3)
    24 iulie 2018—KB4338817 (OS Construi 16299.,579)
  • Windows 10 versiunea 1803 (RS4)
    16 iulie 2018—KB4345421 (OS Construi 17134.167)

Nota

După actualizarea cumulativă este instalat, dacă ai nevoie de clasele care sunt legate de Costisitoare performance counters, setați valoarea de Activare Costisitoare Furnizorii de la 1 (DWORD) sub următoarea subcheie de registry pentru a le face disponibile din nou:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Wbem

actualizare cumulativă nu va afecta comportamentul atunci când un proces este folosind un număr mare de mânere.

această problemă se întâmplă atunci când un client interoghează clasele de performanță., Aceasta este de obicei o aplicație de monitorizare.ca soluție alternativă, puteți dezactiva și aplicația de monitorizare pentru a împiedica crearea claselor de performanță.

mai multe informații

WMI oferă mai multe clase de performanță. Pentru mai multe informații, consultați clasele de contor de performanță.aceste clase sunt create dinamic pe baza contoarelor de performanță disponibile în sistem. Toate clasele sunt create în același timp, nu numai clasele care sunt interogate.,wmiperfclass este modulul care se ocupă de crearea acestor clase atunci când clientul WMI interogări oricare dintre ele sau enumeră clasele disponibile.aceste clase de performanță sunt stocate într-un cache care este invalidat după 15 până la 20 de minute. De îndată ce memoria cache este invalidată, clasele de performanță trebuie create din nou dacă un client le solicită.

crearea claselor de performanță înseamnă că WMIPerfClass.modulul dll va trebui să fie încărcate în interiorul unui WMIPRVSE.Procesul EXE și codul aferent executat.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *