Saya biasanya menyimpan laptop saya pada 24x7, dan pada akhirnya itu benar-benar menjengkelkan karena paha saya terbakar karena terlalu panas.
Overheating tersebut tampaknya merupakan hasil dari WMI Provider Host (WmiPrvSE.exe) yang meningkatkan pemanfaatan CPU hingga 25% setiap beberapa menit. Mengapa ini terjadi?
Saya memiliki HP Envy 14 (dengan omong kosong yang dibundel HP) yang berjalan pada Windows 7 Home Premium.
(Catatan: Berdasarkan pengamatan masa lalu @ nhinkle , tampaknya HP Wireless Manager mungkin penyebabnya, apakah ada cara untuk mengonfirmasi ini?)
Pertanyaan ini adalah Pertanyaan Pengguna Super Minggu Ini .
Baca entri blog 28 Februari 2011 untuk detail lebih lanjut atau kirimkan Pertanyaan Anda sendiri untuk Minggu ini.
Jawaban:
Seperti yang disebutkan Sathya dalam pertanyaannya, saya pernah memiliki pengalaman sebelumnya dengan masalah ini pada laptop HP saya yang serupa, dan saya sekarang telah mengonfirmasi menggunakan metode ilmiah bahwa lonjakan CPU pada laptop HP disebabkan oleh HP Wireless Assistant. Atau, HP CPU Assassin, seperti saya mulai menyebutnya.
Gambaran Umum Eksperimen
Pertanyaan : Apa yang menyebabkan CPU pada laptop HP melonjak secara berkala, khususnya
WmiPrvSE.exe
prosesnya?Hipotesis : HP Wireless Assistant (HPWA) yang menyebabkan masalah
Metode :
WmiPrvSE.exe
proses berhenti menggunakan> 20% CPU ketika proses HPWA ditangguhkan.Hasil : HPWA menyebabkan penggunaan CPU yang ekstrem
Kesimpulan : Anda harus menghapus HPWA karena tidak ada manfaatnya
Informasi latar belakang
Ketika saya mendapatkan laptop HP Pavillion dm4t saya, saya perhatikan bahwa CPU akan sering melonjak hingga 50% penggunaan, hampir setiap detik. Ini menghabiskan masa pakai baterai, dan memanaskan laptop; banyak gejala yang sama seperti yang dialami Sathya. Hanya dengan melihat Resource Monitor di Windows 7, saya dapat melihat bahwa prosesnya
WmiPrvSE.exe
salah.Pencarian google cepat mengkonfirmasi asumsi saya bahwa ini adalah proses host Windows Management Instrumentation (WMI). Singkatnya, WMI dapat digunakan untuk permintaan informasi sistem, seperti penggunaan prosesor, proses yang sedang berjalan, siapa yang logon, dan segala macam informasi lainnya. Proses host WMI menjalankan kueri WMI untuk proses lain yang membuatnya, jadi
WmiPrvSE.exe
bukan pelakunya, itu hanya perantara.Untuk memburu proses spesifik mana yang menyebabkan masalah ini, saya menggunakan Systinternals Process Explorer . Saya menemukan contoh
WmiPrvSE.exe
proses yang menggunakan CPU dalam jumlah besar, dan mengkliknya untuk membuka informasi terperinci.Sayangnya, saya tidak dapat menemukan cara untuk mengetahui proses apa yang membuat semua pertanyaan, tetapi karena saya telah mengisolasi ini sebagai sumber lonjakan CPU, dan tahu itu adalah sebuah layanan, saya pergi ke manajer layanan untuk melihat mana layanan tergantung pada WMI, berpikir yang mungkin membawa saya ke petunjuk lain.
Saya pikir itu bukan layanan Windows bawaan yang menyebabkan masalah, jadi menghilangkan itu, saya memutuskan untuk mengerjakan daftar dan mencoba menonaktifkan setiap layanan, dan melihat apakah masalahnya tetap ada. Tepat di atas daftar adalah Layanan Asisten Nirkabel HP. Saya kembali ke menu layanan, dan menonaktifkan layanan itu. Melihat kembali ke task manager, saya melihat bahwa penggunaan CPU hampir tidak ada. Saya menghidupkan kembali layanan HPWA. Penggunaan CPU kembali meningkat. Saya sekarang memiliki cukup data untuk membentuk teori saya. Saya menghapus layanan HPWA, dan tidak pernah mengalami masalah lagi.
Memverifikasi Hipotesis
Beberapa bulan kemudian, Sathya mengajukan pertanyaan ini. Saya memutuskan untuk membuktikan sekali-untuk-semua bahwa ini adalah kesalahan HPWA. Saya menginstal ulang HP Wireless Assistant, yang sudah beberapa bulan tidak saya instal. Segera, penggunaan prosesor meningkat. Saya kemudian melanjutkan dengan percobaan yang diuraikan di atas.
Pertama, saya mengisolasi proses yang bertanggung jawab untuk layanan HPWA di Resource Monitor.
HPWA_Service.exe
danHPWA_Main.exe
keduanya. Inilah tampilan penggunaan CPU dengan kedua proses yang diproses ini:Kemudian, saya menunda kedua proses. Penggunaan CPU segera turun; inilah yang terlihat setelah beberapa saat untuk penggunaan CPU sebelumnya pada grafik untuk menghapus:
Saya mengaktifkan proses lagi untuk melihat apakah penggunaan akan kembali naik. Itu memang:
Lonjakan pertama saat saya mengaktifkan HPWA
Beberapa saat setelah saya mengaktifkan HPWA
Menangguhkan proses lagi mengakibatkan penggunaan CPU kembali turun:
Saya menguji ini untuk satu iterasi lagi, dan pada percobaan ketiga, hal yang persis sama terjadi lagi. Saya menganggap bukti yang cukup ini untuk menunjukkan bahwa HP Wireless Assistant menyebabkan masalah, dan kemudian menonaktifkan layanan, dan sekarang akan menghapus instalannya.
Yang tampaknya dilakukan oleh HPWA adalah memberi tahu pengguna ketika nirkabel mereka dihidupkan atau dimatikan, dan melahap CPU. Tidak ada yang dapat Anda lakukan dengan itu yang tidak dapat Anda lakukan dengan alat manajemen nirkabel built-in, jadi saya akan menyarankan bahwa jika Anda memiliki perangkat lunak ini diinstal, Anda menghapusnya.
Catatan: Setidaknya satu orang telah melaporkan bahwa menghapus HPWA menyebabkan switch nirkabel mereka pada keyboard berhenti bekerja. Di laptop saya, itu tetap berfungsi dengan baik setelah menghapus HPWA, tetapi jika Anda berhenti berfungsi, Anda selalu dapat menonaktifkan kartu nirkabel dari dalam Windows. Tekan + xuntuk membuka Windows Mobility Center, lalu klik
Turn Wireless Off
tombol.Menurut sebuah diskusi di Forum Dukungan HP, masalahnya telah diperbaiki pada versi terbaru dari HP Wireless Assistant. Jika laptop Anda membutuhkan HPWA untuk menggunakan tombol on / off wifi, Anda dapat mengunduh versi terbaru dari situs web driver HP, dan mungkin tidak akan mengalami masalah ini lagi. Namun demikian, jika Anda tidak memerlukannya untuk tombol on / off wifi, sepertinya tidak ada nilai tambah dari menginstal perangkat lunak ini.
sumber
Penyelesaian masalah
Unduh ProcDump dari Microsoft Sysinternals.
Biarkan dump setelah WmiPrvSE.EXE mencapai 25% selama 1 detik:
Ini akan membuat dump di folder Pengguna Anda.
Jangan ragu untuk mengulangi ini 1-2 kali lebih banyak sehingga Anda memiliki lebih banyak kesedihan dan dapat dipastikan bahwa penyebabnya dibuang dan bukan kejadian lain yang lebih normal.
Analisis dump Anda secara online dan bagikan secara opsional di SpeedyShare .
Alternatif : WinDBG dapat digunakan dengan perintah
!analyze -v
, pastikan untuk mengatur simbol .Jejak tumpukan yang menunjukkan harus mencakup prosedur yang menyebabkan ini.
Mungkin google beberapa prosedur teratas stack untuk mendapatkan ide yang lebih baik apa yang mereka lakukan.
Jika tidak membantu Anda mungkin perlu analisis lebih lanjut. Lihat bagian saya selanjutnya:
Buka prompt perintah sebagai administrator , dan salin tempel perintah selanjutnya:
Tekan ENTER sekali untuk memulai perintah, sekarang Anda harus menunggu sampai spike terjadi.
Jalankan perintah berikut untuk menampilkan file dan menganalisisnya ( WinDBG / Simbol diperlukan):
Jika Anda ingin saya melihatnya:
Karena WmiPrvSE.EXE adalah tuan rumah untuk menjalankan kueri WMI terhadap toko CAPI, Anda mungkin tidak dapat menemukan penyebabnya bahkan dengan XPerf karena IPC , solusi lain yang baru saja saya temukan adalah mengaktifkan WMI logging dan memeriksa log. seperti yang dijelaskan di sini , ClientProcessId akan menjadi PID dari Proses yang membuat kueri WMI. PID ini dapat dilacak kembali ke proses dengan menambahkan kolom PID ke Task Manager atau Process Explorer , atau dengan
tasklist /FI "PID eq X"
X adalah PID yang Anda temukan ...Analisis Dump 1 : Baris 94-115 menunjukkan Panggilan Prosedur Jarak Jauh .
Analisis Dump 2 : Baris 84-105 menunjukkan Panggilan Prosedur Jarak Jauh .
Di Kernel, utas baru mulai menangani rintisan Panggilan Prosedur Jarak Jauh , yang intinya adalah permintaan kueri yang akan dijalankan dan ditanggapi oleh Penyedia WMI. Ini menghasilkan aktivitas CPU yang tinggi karena membaca Registry dan / atau informasi Kinerja.
Karena dump adalah tangkapan momen tunggal, Anda tidak akan dapat melihat proses mana yang melakukan RPC.
Jadi, Anda memerlukan program yang melacak seperti XPerf untuk melihat utas sebelumnya yang akan melakukan RPC.
Atau, jika Anda mengaktifkan Informasi Negara RPC , Anda dapat menggunakan rpcdbg untuk melihat siapa yang memulai panggilan.
Contoh:
Contoh di atas menetapkan breakpoint pada RPC, sehingga Anda bisa melihat siapa yang menjalankannya di baris kedua stack. Namun, sepertinya tidak mungkin menetapkan breakpoint pada panggilan pertama (harap dicatat bahwa ini adalah debugging langsung) akan membantu Anda untuk melihat siapa yang memanggil Penyedia WMI setiap kali ...
Ada banyak informasi lebih banyak dalam artikel tentang Informasi Status RPC yang mungkin membantu, tetapi bukan untuk yang lemah hati seperti kita untuk melalui semua itu ketika kita bisa menggunakan XPerf saja. :-)
Seperti yang sekarang kita ketahui tentang pekerjaan internal tentang cara kerja RPC, kita juga bisa menggunakan Monitor API :
Atur Filter Pengambilan API ke
Rpcrt4.dll
modul.Mirip dengan breakpoint, kami ingin tahu siapa yang memanggil
RpcServerUseProtSeq
fungsi:Kaitkan setiap Proses Menjalankan kecuali untuk mereka yang memiliki PID rendah (untuk mencegah crash).
Ideal, Anda tidak ingin terhubung
dwm.exe
/winlogon.exe
atau lebih rendah.Anda juga dapat mencoba satu proses dan melepaskannya nanti dari jendela Proses Berikat ...
Meskipun ... Saya sudah mencobanya dan bisa mengaitkan proses apa pun.
Jika semuanya berjalan dengan baik, Proses Hooked yang membuat panggilan RPC akan berisi utas.
Dan setelah mengklik utas ini, Anda akan melihat banyak panggilan.
Jika ya, Anda telah menemukan proses yang menyebabkan masalah!
Larutan
Menjaga komputer Anda selalu terbarui adalah penting, menginstal HPWA 4.0.10.0 menyelesaikan ini! ;-)
sumber
Entri blog Microsoft Apakah WMI memberikan penjahat sungguhan? memperlihatkan bagaimana menemukan proses mana yang bertanggung jawab atas CPU yang digunakan WmiPrvSE.exe.
Metode ini menggunakan opsi penampil peristiwa "Tampilkan Analitik dan Debug Log" untuk melacak semua aktivitas WMI, sehingga mendapatkan id proses dari proses yang bersalah.
sumber
Hanya menambahkan ini untuk orang lain di kapal yang sama, halaman ini ada di seluruh Google. Saya memiliki masalah yang sama dengan spacing CPU WmiProvderHost hingga 50% dan menguras baterai pada Lenovo Yoga2 Pro saya pada Windows 8.1.
Mengikuti beberapa saran investigasi yang sangat baik di atas, saya menemukan masalah bagi saya sebenarnya adalah GoPro Studio (perangkat lunak pengedit video gratis yang datang dengan kamera GoPro). Itu menginstal layanan pemantauan yang menunggu Anda untuk menghubungkan kamera Anda dan bagi saya ini adalah pelakunya.
sumber
Untuk men-debug-nya, gunakan xperf dari Windows Performance toolkit dan jalankan file cmd ini:
Buka WMItracing.etl yang dihasilkan di WPA.exe dan ambil & jatuhkan grafik "Acara Umum" dari sisi kiri ke panel analisis.
Sekarang filter hanya untuk aktivitas Microsoft-Windows-WMI-Aktivitas , dan cari operasi WMI dan ClientProcessId.
Dalam contoh saya ini CLientProcessId milik alat yang disebut Veeam ONE Monitor Server . Menghentikannya, memperbaiki masalah penggunaan CPU .
Dan contoh kedua ditunjukkan di sini:
DIA Anda melihat panggilan berulang dari Proses dengan PID 1924 yang termasuk dalam layanan Intel ProSet Monitoring.
Di sini, penggunaan CPU juga ditampilkan dalam callstacks sampling CPU:
Jadi, alat Intel melakukan permintaan pemberitahuan WMI terlalu sering dan ini menyebabkan masalah. Menghentikannya, memperbaiki masalahnya.
sumber
Sudahkah Anda mencoba melihat apakah itu virus? Beberapa virus sangat suka parade sekitar karena layanan Windows seperti itu. Pastikan
WmiPrvSE.exe
prosesnya berada dic:\windows\system32\wbem
direktori. Jika tidak, Anda mungkin ingin menjalankan program pendeteksi spyware umum. Jika bukan spyware, itu mungkin layanan lain yang memanggilnya. Saya tahu saya memiliki beberapa gadget cepat yang berjalan di komputer saya, dan ironisnya gadget monitor kinerja terkadang membuat CPU saya sedikit lonjakan. Juga, bisa jadi layanan lain yang menekan gas itu setiap sekarang dan kemudian. Misalnya, bloatware dari HP, Dell, dll.Selain itu, jawaban lain dari TomWij tampaknya cukup bagus untuk memecahkan masalah!
sumber
Verify Signatures
opsi; kemudian, jika dikatakan(Verified) X
diVerified Signer
kolom maka itu diverifikasi oleh Microsoft dan yang dapat dieksekusi adalah bagian dari produk / perusahaanX
, dalam hal iniMicrosoft Windows
.C:\Windows\system32\wbem
dan kolom terverifikasi menunjukkan bahwa file diverifikasi. @TomWij