WMI Sağlayıcı Ana Bilgisayarı (WmiPrvSE.exe) neden işlemcimi zorluyor?


83

Dizüstü bilgisayarımı genellikle 24x7'de tutarım ve günün sonunda, aşırı ısınmadan dolayı kalçalarımın yanması gerçekten can sıkıcıdır.

Aşırı ısınma, WMI Sağlayıcı Sunucusunun (WmiPrvSE.exe) CPU kullanımını birkaç dakikada bir% 25'e düşürmesi sonucu ortaya çıkıyor. Bu neden oluyor?

Windows 7 Home Premium'da çalışan bir HP Envy 14'üm (HP paketli) ile sahibim.

(Not: @ nhinkle'nın temeli geçmiş gözlemler , HP Wireless Manager'ın suçlu olabileceği görünüyor, bunu onaylamanın bir yolu var mı?)

Bu soru bir Haftanın Süper Kullanıcısı Sorusu .
28 Şubat 2011 blog girişi daha fazla ayrıntı için veya kendi gönder Haftanın Sorusu.


2
Peki, bunu doğrulamanın en iyi yolu onu devre dışı bırakmak ve devam edip etmediğine bakmaktır;)
Matthieu Cartier

@neuro heh, true ama Süper Kullanıcılardan birinin farklı bir yaklaşımı olup olmadığını görmek istiyorum :)
Sathyajith Bhat

2
"Uyluklarımın yanması gerçekten çok sinir bozucu" - & gt; Uyluk bir şey değil, şuna bir bak .
Tom Wijsman

1
Masaüstünde hiç gadget var mı? Örneğin. disk alanı izleyicisi
Kez

1
@kez Hayır - aygıt yok - temiz bir masaüstü.
Sathyajith Bhat

Yanıtlar:


107

Sathya'nın sorusunda belirttiği gibi, bu sorunla ilgili olarak benzer HP dizüstü bilgisayarımda daha önce deneyimim oldu ve şimdi HP dizüstü bilgisayarlarda CPU'nun HP dizüstü bilgisayarının neden olduğu HP Wireless Assistant'ın neden olduğu bilimsel yöntemi kullanarak onayladım. Veya, HP CPU Assassin, aramaya başlayabilirim.

Deneye Genel Bakış

  • Soru : HP dizüstü bilgisayarın CPU'sunun sık aralıklarla, özellikle de WmiPrvSE.exe süreç?

  • Hipotez : HP Wireless Assistant (HPWA) soruna neden oluyor

  • Yöntem :

    1. HPWA kurulduğunda sorunun oluşmaya başladığını görün.
    2. İşlemcinin hızlanıp durmadığını ve cihazın WmiPrvSE.exe HPWA işlemi askıya alındığında işlem,>% 20 CPU kullanmayı durdurur.
    3. HPWA işlemi yeniden etkinleştirildiğinde CPU tekrar fırlamaya başlar mı?
    4. Sonuçların doğru olmasını sağlamak için birden fazla deneme için 2. ve 3. adımları tekrarlayın
  • Sonuçlar : HPWA, aşırı CPU kullanımına neden oluyor

  • Sonuç : Yararlı bir şey yapmadığından HPWA'yı kaldırmalısınız

Arkaplan bilgisi

HP Pavillion dm4t dizüstü bilgisayarımı aldığımda, CPU'nun neredeyse her saniyede bir% 50 kullanımına kadar sıkılacağını fark ettim. Bu, pil ömrünü boşa alıyor ve dizüstü bilgisayarı ısıtıyordu; Sathya'nın yaşadığı semptomların aynısı. Sadece Windows 7'deki Kaynak İzleyicisine bakarak sürecin ne olduğunu görebildim. WmiPrvSE.exe hatalıydı.

cpu nom nom

Hızlı bir google araması, bunun benim Windows Yönetim Araçları (WMI) ana bilgisayar işlemi. Kısacası, WMI, işlemci kullanımı, çalışan işlemler, oturum açan ve her türlü diğer bilgiler gibi sistem bilgilerini sorgulamak için kullanılabilir. WMI ana bilgisayar işlemi, bunları yapan diğer işlemler için WMI sorgularını çalıştırır; WmiPrvSE.exe suçlu kendisi değildi, sadece bir aracıydı.

Hangi probleme bu probleme neden olduğunu bulmak için kullandım. Sysinternals İşlem Gezgini . Hangi örneğini buldum WmiPrvSE.exe işlem çok miktarda CPU kullanıyordu ve ayrıntılı bilgileri açmak için üzerine tıklayın.

process explorer

Ne yazık ki, hangi işlemin tüm sorguları yaptığını öğrenmenin bir yolunu bulamadım, ancak bunu CPU çivilerinin kaynağı olarak izole ettiğim ve bir hizmet olduğunu bildiğimden, servis yöneticisine gittim. Servisler beni başka bir ipucuna götürebileceğini düşünerek WMI'ye bağlıydı.

services nom nom

Soruna neden olan yerleşik bir Windows hizmeti olmayacağını düşündüm, bu yüzden bunları ortadan kaldırarak listeyi kapatıp her hizmeti devre dışı bırakmayı ve sorunun devam edip etmediğini görmeye karar verdim. Listenin tam üstünde HP Kablosuz Asistan Hizmeti vardı. Servisler menüsüne geri döndüm ve bu servisi devre dışı bıraktım. Görev yöneticisine baktığımda, CPU kullanımının neredeyse hiçbir işe yaramadığını gördüm. Ben HPWA servisini tekrar açtım. CPU kullanımı geri tepti. Artık teorimi oluşturmak için yeterli veriye sahibim. HPWA servisini kaldırdım ve bir daha asla sorun yaşamadım.

Hipotezi Doğrulamak

Birkaç ay sonra, Sathya bu soruyu sorar. Bunun HPWA'nın suçu olduğunu defalarca kanıtlamaya karar verdim. Aylardır yüklemediğim HP Wireless Assistant'ı yeniden yükledim. Hemen, işlemci kullanımı arttı. Daha sonra yukarıda ana hatlarıyla verilen deney ile geçtim.

İlk önce, Kaynak İzleyicisi'nde HPWA hizmetinden sorumlu süreci izole ettim. HPWA_Service.exe ve HPWA_Main.exe ikisi. İşlemci kullanımı bu işlenen her iki işlemde de nasıl göründüğünü şöyle gösterir:

task manager with hpwa running

Sonra her iki işlemi de askıya aldım. CPU kullanımı hemen azaldı; grafikteki önceki CPU kullanımının birkaç dakika sonra göründüğü gibi görünüyordu:

task manager without hpwa running

Kullanımın geri gidip gitmeyeceğini görmek için işlemleri tekrar etkinleştirdim. O yaptı:

task manager just enabled hpwa
HPWA'yı etkinleştirdiğim ilk başak

task manager after enabling hpwa
HPWA'yı etkinleştirdikten kısa bir süre sonra

İşlemlerin tekrar askıya alınması CPU kullanımının geri çekilmesine neden oldu:

lower cpu usage after disabling hpwa

Bunu bir kez daha tekrarladım ve üçüncü denemede de aynı şey tekrar oldu. HP Wireless Assistant'ın soruna neden olduğunu ve ardından servisi devre dışı bıraktığını göstermek için bu kanıtı düşündüm ve şimdi kaldıracağım.

HPWA’nın yaptığı tek şey kablosuz bağlantılarını açıp kapattıklarında kullanıcıyı bilgilendirmek ve CPU'yu yutmak. Yerleşik kablosuz yönetim araçlarıyla yapamayacağınız hiçbir şey yok, bu nedenle bu yazılımı yüklüyorsanız, kaldırmanızı öneririm.


Not: En az bir kişi HPWA'nın kaldırılmasının klavyedeki kablosuz anahtarlarının çalışmamalarına neden olduğunu bildirdi. Dizüstü bilgisayarımda, HPWA’yı çıkardıktan sonra düzgün çalışıyordu, ancak sizinkinin çalışmaması durumunda kablosuz kartı Windows’tan her zaman devre dışı bırakabilirsiniz. Basın Winkey + x Windows Mobility Center’ı açmak için Turn Wireless Off buton.

windows mobility center


Göre bir tartışma HP Destek Forumları'nda, sorun HP Wireless Assistant'ın daha yeni sürümlerinde düzeltildi. Dizüstü bilgisayarınızın wifi açma / kapama düğmesini kullanması için HPWA'ya ihtiyacı varsa, en son sürümü HP'nin sürücü web sitesinden indirebilirsiniz ve muhtemelen bu sorunu yaşamayacaksınız. Yine de, wifi açma / kapama düğmesi için ihtiyacınız yoksa, hala bu yazılımın yüklü olmasının katma değeri yok gibi görünüyor.


+1 - çok güzel, kapsamlı cevap. CPU durumum budur - HP CPU Assassin ile - i.imgur.com/dMwaJ.png
Sathyajith Bhat

Ve bu hizmetleri askıya alınıyor i.imgur.com/dn2Em.png
Sathyajith Bhat

18
VAY! bu bir cidden harika yayınlayın! En çok belgelenmiş ve ekrana uygun yayınlardan biri hiç görüldü! +1 !!
studiohack

2
+1, Müthiş bir dedektif çalışması ve Windows'ta kablosuz yardımcısı yazılımı kullanan ekran görüntüleriyle gizli yayın, yeni bir PC'de ilk kaldırdığım şey.
Moab

1
Benim için o oldu Dell Veri Kasası Hizmeti CPU'nun WMI Sağlayıcısı'nda yükselmesine neden oluyor. Bu cevapta da belirtildiği gibi bir bağımlılıktır. Bunu buldum Windows Temiz Önyükleme Yöntemi .
Cerveser

38

Sorun giderme

  1. İndir ProcDump Microsoft Sysinternals’tan.

  2. WmiPrvSE.EXE 1 saniye boyunca% 25'e ulaştığında bir dökümü ele geçirin:

    procdump.exe -c 25 -s 1 -x WmiPrvSE.EXE %HOMEPATH%\WmiPrvSE.dmp
    

    Bu, Kullanıcı klasörünüzde bir döküm yaratacaktır.

    Bunu 1 - 2 kez daha tekrarlamaktan çekinmeyin, böylece daha fazla dökümü elde edersiniz ve nedenin atıldığından ve daha normal bir olay olmadığından emin olabilirsiniz.

  3. Dumplarınızı analiz edin internet üzerinden ve isteğe bağlı olarak paylaşın SpeedyShare .

    Alternatif : WinDBG komut ile kullanılabilir !analyze -v, emin olun sembolleri ayarla .

  4. Gösterilen yığın izi, buna neden olan yordamı içermelidir.

Belki ne yaptıklarını daha iyi bir fikir edinmek için yığının en iyi işlemlerinden birkaçını google.
Eğer yardımcı olmazlarsa, daha ileri analizlere ihtiyacınız olabilir. Bir sonraki bölüme bakın:


  1. Ayarları indir Windows Performans Analizi Araçları Windows sürümünüz için.
  2. Yazılımı sisteminize yükleyin.
  3. Bir komut istemi açın yönetici olarak , ve kopya sonraki komutu yapıştırın:

    xperf -start perf!GeneralProfiles.InBuffer -stackwalk profile && timeout -1 && xperf -stop perf!GeneralProfiles.InBuffer %HOMEPATH%\myTrace.etl
    
  4. Basın GİRMEK bir Zamanlar Komutu başlatmak için şimdi çivinin oluşmasını beklemeniz gerekecek.

  5. Başaktan hemen sonra konsola gidip GİRMEK .
  6. Bir süre bekledikten sonra kullanıcı klasörünüzde bir günlük dosyası myTrace.etl üretilecektir.
  7. Dosyayı göstermek ve analiz etmek için aşağıdaki komutu çalıştırın ( WinDBG / Semboller gereklidir):

    xperf %HOMEPATH%\myTrace.etl
    

Eğer içine bakmamı istiyorsan:

  1. MyTrace.etl dosyasını Kullanıcı Klasörünüzden bir zip dosyasına sıkıştırın.
  2. Sıkıştırılmış zip dosyasını paylaş SpeedyShare .
  3. Bağlantıyı burada paylaş, sorununun nedenini bulup göstermeye çalışacağım.

WmiPrvSE.EXE CAPI deposuna karşı WMI sorguları çalıştırmak için bir ana bilgisayar olduğundan, nedenini nedeniyle XPerf ile bile bulamıyor olabilirsiniz IPC Yeni bulduğum başka bir çözüm, WMI günlüğünü etkinleştirmek ve günlükleri açıklandığı gibi kontrol etmektir. İşte , ClientProcessId, WMI sorgusunu yapan İşlemin PID'si olacaktır. Bu PID, Görev Yöneticisine bir PID sütunu eklenerek işleme geri izlenebilir veya Süreç araştırmacısı veya tasklist /FI "PID eq X" X bulduğunuz PID nerede?


Analizi 1 dökümü : 94-115 çizgileri bir Uzaktan Prosedür Çağrısı .
Analizi 2 dökümü : 84-105 çizgileri bir Uzaktan Prosedür Çağrısı .

Çekirdekte yeni bir iş parçacığı başlatıldı Uzaktan Yordam Çağrısı saplaması nasıl yapılır özünde WMI Sağlayıcısının yürüteceği ve yanıtlayacağı bir sorgu isteğidir. Bu, Kayıt Defteri ve / veya Performans bilgilerini okumaktan dolayı yüksek bir CPU etkinliğine neden olur.

Bir dökümü tek bir anın yakalanması olduğundan, hangi işlemi RPC gerçekleştirdiğini göremezsiniz.
Bu nedenle, RPC'yi yapan önceki parçayı görmek için XPerf gibi bir program izlemeniz gerekir.

Veya eğer RPC Durum Bilgisini etkinleştir , kullanabilirsiniz rpcdbg Aramayı kimin başlattığını görmek için

Örnek:

0:000> bp rpcrt4!RpcServerUseProtseqEpA
0:000> g
Breakpoint 0 hit
eax=00452000 ebx=7ffd5000 ecx=00452008 edx=00000014 esi=00d5f55c edi=7c911970
eip=77e97a0b esp=0012ff3c ebp=0012ff6c iopl=0 nv up ei pl nz na pe nc
cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00000206
RPCRT4!RpcServerUseProtseqEpA:
77e97a0b 8bff mov edi,edi
0:000> kb
ChildEBP RetAddr Args to Child
0012ff38 00401046 00452000 00000014 00452008 RPCRT4!RpcServerUseProtseqEpA
0012ff6c 00401e37 00000001 003330a0 00333120 hellos!main+0x46 [e:\projects\hello\hellos.c @ 21]

Yukarıdaki örnek, RPC'de bir kesme noktası belirler, böylece onu yığının ikinci satırında kimin çalıştırdığını görebilirsiniz. Ancak, ilk aramada bir sınır değer belirlemenin (lütfen bunun canlı hata ayıklama olduğunu unutmayın) her seferinde WMI Sağlayıcısı'nı kimin aradığını görmenize yardımcı olması olası değildir

Bu yazıda hakkında daha fazla bilgi var. RPC Devlet Bilgisi Bu yardımcı olabilir, ancak XPerf'i kullanabildiğimizde tüm bunlardan geçmek bizim gibi zayıf kalpli insanlar için değil. :-)


Şimdi RPC'nin nasıl çalıştığının içsel işleyişini bildiğimiz gibi, biz de kullanabiliriz. API İzleyicisi :

  1. API Monitor'ü indirin, kurun ve başlatın. ( iki defa 64 bit varsa: bir kez x86, bir kez x64)
  2. Git Dosya - & gt; Yönetici olarak çalıştır
  3. Yı kur API Yakalama Filtresi -e Rpcrt4.dll modülü.

    enter image description here

  4. Kesme noktasına benzer şekilde, biz kimin aradığını bilmek istiyoruz. RpcServerUseProtSeq fonksiyonlar:

    enter image description here

  5. Her kanca Çalışan süreci PID değeri düşük olanlar hariç (çökmeleri önlemek için).
    İdeal, takılmak istemezsiniz dwm.exe / winlogon.exe Veya daha düşük.
    Ayrıca, tek işlemleri deneyebilir ve bunları daha sonra Kancalı İşlemler pencere ...

    Yine de ... Denedim ve herhangi bir işlemi başarabilirdim.

  6. Her şey yolunda giderse, Kanca süreci Bu RPC çağrısı yapan konu içerecektir.
    Ve bu konulara tıkladığınızda bir sürü çağrı görmelisiniz.
    Bunu yaparsanız, soruna neden olan işlemi buldunuz!

Çözüm

Bilgisayarınızı güncel tutmak önemlidir, HPWA 4.0.10.0 Bunu çözdü! ;-)


@TomWij - Çevrimiçi döküm analizi 1 , 2 . Dökümü dropbox . Ayrıca, PID'yi biliyorum. Bununla ne yapabilirim?
Sathyajith Bhat

1
çok güzel bir cevap, @TomWiji, belgeler gerçekten yardımcı olur ...
studiohack

Yeni kurulan HPWA, devreye girmiyor gibi görünüyor. Yeniden başlatılması gerekebilir. Bilgisayarımda da aynı durum gerçekleşirse, gönderiyi güncellemeye çalışacağım ve sorun giderme yöntemlerinin çoğunun size sorunun oluştuğunu nasıl gösterebileceğini göstereceğim.
Tom Wijsman

2
Ninkles'in cevabını biraz daha sevdim - ama bu da çok iyi ve yardımcı oldu - ama hepsinden önemlisi, API monitörü gibi bir araç son zamanlarda kaçırmaya başladığım bir şey.
Tobias Plutat

2
@ Tom, bu izlenimin altında değildim ve kesinlikle ima etmek istemedim. Henüz ben did Sorunla ilgili iki mükemmel cevabı tanıma dürtüsünü, yalnızca en çok oy alanlarla alabileceğimden daha fazla ayrıntı ve farklılaşma ile anlayın. :)
Tobias Plutat

13

Microsoft blog girişi WMIprvse gerçek bir kötü adam mıdır? WmiPrvSE.exe'nin kullandığı CPU'dan hangi işlemin sorumlu olduğunu bulma yolunu gösterir.

Bu yöntem, tüm WMI faaliyetlerini izlemek için "Analitik ve Hata Ayıklama Günlüklerini Göster" seçeneğinin Olay Görüntüleyicisi seçeneğini kullanır ve böylece suçlu işlemin işlem kimliğini alır.


Evet, dedi ki birkaç gün önce Üstelik benim görevimde XPerf ve Dump Analysis arasında yazdım ancak PID'yi kontrol etmedi, XPerf yaptı veya şimdiye kadar API Monitor yaptı, bu yüzden daha fazla analiz uygulamadan önce onu beklemem gerekecek.
Tom Wijsman

7

Bunu aynı teknede bulunan herhangi biri için ekledim, bu sayfa Google’ın her yerinde. Aynı sorunu WmiProvderHost işlemcisinin% 50'ye çıkarması ve Lenovo Yoga2 Pro'mdaki Windows 8.1'de pili boşaltmasıyla da yaşadım.

Yukarıdaki mükemmel soruşturma tavsiyelerinin bir kısmının ardından, benim için konunun gerçekte olduğunu keşfettim. GoPro Studio (GoPro kameralarla birlikte gelen ücretsiz video düzenleme yazılımı). Fotoğraf makinenizi bağlamanızı bekleyen bir izleme servisi kurar ve benim için bu bir suçluluktur.


3
Windows 8.1, GoPro yerleşik programını kapattıktan sonra, WMI Sağlayıcı Ana Bilgisayar CPU kullanımım% 40'dan% 8'e düşürüldü
user63227

Windows 8.1, GoPro yazılımı sayesinde yüksek CPU kullanımına da sahip. Sistem tepsisinden kapattı ve normale döndü (ve başlangıçta devre dışı bırakıldı).
Robin

4

Hata ayıklamak için, xperf komutunu kullanın. Windows Performans araç seti ve bu cmd dosyasını çalıştırın:

xperf -on PROC_THREAD+LOADER+PROFILE+INTERRUPT+DPC+DISPATCHER -stackwalk profile -BufferSize 1024 -MaxFile 256 -FileMode Circular -f Kernel.etl
xperf -start WMILogger -on Microsoft-Windows-WMI-Activity::0xff -BufferSize 1024 -f WMI.etl

echo Please capture about 30s of the WMI activity.

pause

xperf -stop
xperf -stop WMILogger
xperf -merge WMI.etl kernel.etl WMItracing.etl

del WMI.etl
del kernel.etl

Oluşturulan WMItracing.etl WPA.exe içinde açın ve & amp; "Genel Olaylar" grafiğini sol taraftan analiz bölmesine bırakın.

enter image description here

Şimdi filtrele Microsoft Windows WMI-Activity yalnızca olaylara bakın ve WMI işlemlerini ve ClientProcessId'yi arayın.

Benim örneğimde bu CLientProcessId adlı bir araca aittir. Veeam ONE Monitör Sunucusu . Durdurun, CPU kullanım sorunu düzeltildi .

Ve ikinci örnek burada gösterilmektedir:

enter image description here

Intel ProSet Monitoring hizmetine ait olan, 1924 PID'si olan bir İşlem çağrısını tekrarlayan görüyorsunuz.

Burada CPU kullanımı, CPU örnekleme çağrı kayıtlarında da gösterilmektedir:

enter image description here

Bu nedenle, Intel aracı WMI bildirim sorgularını çok sık yapıyor ve bu da sorunlara neden oluyor. Durdurmak sorunu çözdü.


1

Bir virüs olup olmadığını görmeyi denedin mi? Bazı virüsler bunun gibi Windows servisleri olarak geçit yapmayı gerçekten severler. Emin ol WmiPrvSE.exe işlem yer almaktadır c:\windows\system32\wbem dizin. Değilse, genel casus yazılım algılama programlarını çalıştırmak isteyebilirsiniz. Casus yazılım değilse, onu çağıran başka bir hizmet olabilir. Bilgisayarımda hızlı çalışan birkaç aracım olduğunu biliyorum ve ironik bir şekilde performans izleme aracı bazen CPU'mun biraz yükselmesine neden oluyor. Ayrıca, şu anda bu gaza basan başka bir hizmet olabilir. Örneğin, HP, Dell vb.

Bunun dışında TomWij'den gelen diğer cevap sorun giderme için oldukça iyi görünüyor!


1
Bunu kontrol etmenin alternatif ve daha genel bir yolu kullanmaktır. Süreç araştırmacısı Sysinternals’dan Verify Signatures seçenek; o zaman, eğer diyorsa (Verified) X içinde Verified Signer sütun sonra Microsoft tarafından doğrulanır ve yürütülebilir ürünün / şirketin bir parçasıdır X, bu durumda Microsoft Windows.
Tom Wijsman

Virüs / kötü amaçlı yazılım olmadığından eminim. Ayrıca, WmiPrvSE’de C:\Windows\system32\wbem ve doğrulanmış sütun, dosyanın doğrulanmış olduğunu gösterir. @TomWij
Sathyajith Bhat

@ Sathya Büyük olasılıkla bunun bir bloatware olduğunu söyleyebilirim, özellikle de bir HP "HP ile paketlenmiş" olduğunu belirtti. Msconfig'ü kullanmayı ve başlangıçta tüm HP servislerini ve programlarını devre dışı bırakmayı deneyin ve bunun yardımcı olup olmadığına bakın.
Duall

Ben, SSD'mi düzelttikten sonra Win 7'yi yeniden yüklemeyi düşünüyorum, bunun ilginç bir soru olacağını düşündüm - dahası nasıl hata ayıklanacağını öğrenmek için
Sathyajith Bhat
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.