เหตุใดโฮสต์ผู้ให้บริการ WMI (WmiPrvSE.exe) จึงทำให้ซีพียูของฉันยังร้อนแรงอยู่


88

โดยทั่วไปแล้วฉันเก็บแล็ปท็อปของฉันใน 24x7 และในตอนท้ายของวันมันน่ารำคาญจริงๆที่ต้นขาของฉันถูกไฟไหม้เพราะร้อนเกินไป

ความร้อนสูงเกินไปน่าจะเป็นผลมาจาก WMI Provider Host (WmiPrvSE.exe) ทำให้การใช้งาน CPU สูงถึง 25% ทุกสองสามนาที ทำไมสิ่งนี้ถึงเกิดขึ้น

ฉันมี HP Envy 14 (พร้อมอึรวมกับ HP) ที่ทำงานบน Windows 7 Home Premium

(หมายเหตุ: จากการสังเกตที่ผ่านมาของ @ nhinkle ดูเหมือนว่า HP Wireless Manager อาจเป็นผู้ร้ายมีวิธีใดที่จะยืนยันสิ่งนี้ได้)

คำถามนี้เป็นคำถามที่ผู้ใช้ซูเปอร์ของสัปดาห์
อ่านบล็อกของ 28 ก.พ. 2011 สำหรับรายละเอียดเพิ่มเติมหรือส่งคำถามประจำสัปดาห์ของคุณเอง


2
วิธีที่ดีที่สุดในการยืนยันว่าจะเป็นการปิดการใช้งานและดูว่ายังดำเนินการต่อไปหรือไม่)
Matthieu Cartier

@neuro heh จริง แต่ฉันต้องการดูว่ามีผู้ใช้ Super คนใดมีแนวทางที่แตกต่างกันหรือไม่ :)
Sathyajith Bhat

2
"มันน่ารำคาญมากที่จะมีการเผาไหม้ที่ต้นขาของฉัน" -> ต้นขาจะไม่มีอะไรให้ตรวจสอบนี้
Tamara Wijsman

1
คุณมีโปรแกรมเบ็ดเตล็ดบนเดสก์ท็อปหรือไม่? เช่น. ตรวจสอบพื้นที่ว่างในดิสก์
Kez

1
@kez Nope - ไม่มีแกดเจ็ต - เดสก์ท็อปที่สะอาด
Sathyajith Bhat

คำตอบ:


110

ดังที่ Sathya พูดถึงในคำถามของเขาฉันเคยมีปัญหานี้กับแล็ปท็อป HP ที่คล้ายกันของฉันและตอนนี้ฉันได้รับการยืนยันโดยใช้วิธีการทางวิทยาศาสตร์ว่า CPU spikes บนแล็ปท็อป HP นั้นเกิดจาก HP Wireless Assistant หรือ HP CPU Assassin อย่างที่ฉันอาจจะเรียกมันว่า

ภาพรวมของการทดลอง

  • คำถาม : อะไรคือสาเหตุที่ทำให้ซีพียูในแล็ปท็อป HP พุ่งขึ้นอย่างต่อเนื่องบ่อยครั้งโดยเฉพาะ WmiPrvSE.exe กระบวนการ

  • สมมติฐาน : HP Wireless Assistant (HPWA) เป็นสาเหตุของปัญหา

  • วิธีการ :

    1. ดูว่าปัญหาเริ่มต้นขึ้นเมื่อติดตั้ง HPWA หรือไม่
    2. ดูว่า CPU หยุด spiking และWmiPrvSE.exeกระบวนการหยุดใช้หรือไม่> 20% CPU เมื่อกระบวนการ HPWA ถูกระงับ
    3. ดูว่า CPU เริ่มต้น spiking อีกครั้งเมื่อเปิดใช้งานกระบวนการ HPWA อีกครั้ง
    4. ทำซ้ำขั้นตอนที่ 2 และ 3 สำหรับการทดสอบหลายครั้งเพื่อให้มั่นใจถึงผลลัพธ์ที่ถูกต้อง
       
  • ผลลัพธ์ : HPWA ทำให้เกิดการใช้งาน CPU อย่างรุนแรง

  • สรุป : คุณควรถอนการติดตั้ง HPWA เนื่องจากไม่มีประโยชน์ใด ๆ

ข้อมูลพื้นฐาน

เมื่อฉันได้แล็ปท็อป HP Pavillion dm4t ของฉันฉันสังเกตเห็นว่า CPU มักจะขัดขวางการใช้งานมากถึง 50% เกือบทุก ๆ วินาที นี่เป็นระยะเวลาการใช้งานแบตเตอรี่ที่ยาวนานและทำให้โน้ตบุ๊กร้อนขึ้น อาการเดียวกันมากกับ Sathya มีประสบการณ์ เพียงแค่ดูที่ Resource Monitor ใน Windows 7 ฉันก็สามารถเห็นว่ากระบวนการWmiPrvSE.exeนั้นเป็นความผิดพลาด

ชื่อซีพียูชื่อ

การค้นหา google อย่างรวดเร็วยืนยันสมมติฐานของฉันว่านี่เป็นกระบวนการโฮสต์Windows Management Instrumentation (WMI) กล่าวโดยย่อคือ WMI สามารถใช้เพื่อค้นหาข้อมูลระบบเช่นการใช้งานตัวประมวลผลกระบวนการทำงานผู้ที่เข้าสู่ระบบและข้อมูลอื่น ๆ ทุกประเภท กระบวนการโฮสต์ WMI รันการสืบค้น WMI สำหรับกระบวนการอื่น ๆ ที่ทำให้เกิดขึ้นดังนั้นจึงWmiPrvSE.exeไม่ได้เป็นตัวการเองมันเป็นเพียงแค่ตัวกลาง

เพื่อที่จะลงล่าซึ่งกระบวนการที่เฉพาะเจาะจงที่ก่อให้เกิดปัญหานี้ผมใช้Systinternals Process Explorer ฉันพบอินสแตนซ์ของWmiPrvSE.exeกระบวนการที่ใช้ CPU จำนวนมากและคลิกเพื่อเปิดข้อมูลรายละเอียด

สำรวจกระบวนการ

น่าเสียดายที่ฉันไม่เห็นวิธีที่จะค้นหาว่ากระบวนการใดที่ทำให้การสืบค้นทั้งหมด แต่เนื่องจากฉันแยกสิ่งนี้เป็นที่มาของ CPU spikes และรู้ว่ามันเป็นบริการฉันจึงไปที่ผู้จัดการบริการเพื่อดูว่า บริการขึ้นอยู่กับ WMI คิดว่าอาจนำฉันไปสู่เบาะแสอื่น

บริการ Nom Nom

ฉันคิดว่ามันจะไม่เป็นบริการ Windows ในตัวที่ทำให้เกิดปัญหาดังนั้นการกำจัดสิ่งเหล่านั้นฉันจึงตัดสินใจที่จะทำรายการและลองปิดการใช้งานแต่ละบริการและดูว่าปัญหายังคงอยู่หรือไม่ ด้านบนของรายการคือ HP Wireless Assistant Service ฉันกลับไปที่เมนูบริการและปิดใช้งานบริการนั้น เมื่อมองย้อนกลับไปในตัวจัดการงานฉันเห็นว่าการใช้งาน CPU นั้นแทบไม่เหลืออะไรเลย ฉันให้บริการ HPWA อีกครั้ง การใช้งาน CPU ยิงกลับขึ้นมา ตอนนี้ฉันมีข้อมูลเพียงพอที่จะสร้างทฤษฎีของฉัน ฉันถอนการติดตั้งบริการ HPWA และไม่เคยมีปัญหาอีก

การยืนยันสมมติฐาน

หลายเดือนต่อมา Sathya ถามคำถามนี้ ฉันตัดสินใจพิสูจน์ครั้งแล้วครั้งเล่าว่านี่เป็นความผิดของ HPWA ฉันติดตั้ง HP Wireless Assistant ใหม่ซึ่งฉันไม่ได้ติดตั้งในช่วงหลายเดือนที่ผ่านมา ทันทีการใช้งานตัวประมวลผลยิงขึ้น จากนั้นฉันก็ผ่านการทดสอบที่ระบุไว้ข้างต้น

ก่อนอื่นฉันแยกกระบวนการที่รับผิดชอบบริการ HPWA ในการตรวจสอบทรัพยากร HPWA_Service.exeและHPWA_Main.exeเป็นสอง นี่คือลักษณะที่การใช้งาน CPU ดูเหมือนกับการประมวลผลทั้งสองอย่างนี้:

ตัวจัดการงานที่มี hpwa กำลังทำงานอยู่

จากนั้นฉันหยุดกระบวนการทั้งสองไว้ชั่วคราว การใช้งาน CPU ลดลงในทันที ต่อไปนี้เป็นสิ่งที่ดูเหมือนว่าหลังจากการใช้งาน CPU ก่อนหน้านี้ในกราฟเพื่อล้างข้อมูล:

ตัวจัดการงานโดยไม่เรียกใช้ hpwa

ฉันเปิดใช้งานกระบวนการอีกครั้งเพื่อดูว่าการใช้งานจะกลับมาหรือไม่ มันทำ:

ตัวจัดการงานเพิ่งเปิดใช้งาน hpwa
เข็มแรกเมื่อเปิดใช้งาน HPWA

ตัวจัดการงานหลังจากเปิดใช้งาน hpwa
ซักพักหลังจากที่ฉันเปิดใช้งาน HPWA

การระงับกระบวนการอีกครั้งส่งผลให้การใช้งาน CPU ลดลง:

การใช้ cpu ลดลงหลังจากปิดการใช้งาน hpwa

ฉันทดสอบสิ่งนี้ซ้ำอีกหนึ่งครั้งและในการทดลองครั้งที่สามสิ่งเดียวกันก็เกิดขึ้นอีกครั้ง ฉันพิจารณาหลักฐานที่เพียงพอนี้เพื่อแสดงว่า HP Wireless Assistant เป็นสาเหตุของปัญหาและปิดใช้งานบริการในภายหลังและจะถอนการติดตั้ง

HPWA ทั้งหมดที่ปรากฏจะต้องแจ้งให้ผู้ใช้ทราบเมื่อเปิดหรือปิดระบบไร้สายและใช้ CPU gobble ไม่มีสิ่งใดที่คุณสามารถทำได้ด้วยเครื่องมือการจัดการไร้สายในตัวดังนั้นฉันขอแนะนำว่าถ้าคุณมีซอฟต์แวร์นี้ติดตั้งอยู่คุณจะลบมันออก


หมายเหตุ: มีอย่างน้อยหนึ่งคนรายงานว่าการถอนการติดตั้ง HPWA ทำให้สวิตช์ไร้สายบนแป้นพิมพ์หยุดทำงาน บนแล็ปท็อปของฉันมันทำงานได้ดีหลังจากถอนการติดตั้ง HPWA แต่ในกรณีที่คุณหยุดทำงานคุณสามารถปิดการใช้งานการ์ดไร้สายจากภายใน Windows ได้ กดWinkey+ xเพื่อเปิด Windows Mobility Center จากนั้นคลิกที่Turn Wireless Offปุ่ม

windows mobility center


จากการสนทนาในฟอรัมการสนับสนุนของ HP ปัญหาได้รับการแก้ไขใน HP Wireless Assistant เวอร์ชันล่าสุด หากแล็ปท็อปของคุณต้องการ HPWA เพื่อใช้ปุ่มเปิด / ปิด wifi คุณสามารถดาวน์โหลดเวอร์ชันล่าสุดได้จากเว็บไซต์ไดรเวอร์ของ HP และอาจไม่มีปัญหานี้อีกต่อไป อย่างไรก็ตามหากคุณไม่ต้องการใช้ปุ่มเปิด / ปิด wifi ดูเหมือนว่าจะไม่มีมูลค่าเพิ่มจากการติดตั้งซอฟต์แวร์นี้


+1 - คำตอบที่ดีมากครอบคลุม นี่คือสถานะ CPU ของฉัน - w / the HP CPU Assassin - i.imgur.com/dMwaJ.png
Sathyajith Bhat

และนี่คือโพสต์ที่ระงับการให้บริการi.imgur.com/dn2Em.png
Sathyajith Bhat

18
โว้ว! นี่คือโพสต์ที่น่ากลัวอย่างจริงจัง ! หนึ่งในโพสต์ที่มีเอกสารและภาพหน้าจอมากที่สุดที่ฉันเคยเห็น! 1 !!
studiohack

2
+1, นักสืบที่ยอดเยี่ยมและโพสต์ที่สวยงามด้วยภาพหน้าจอที่ใช้ซอฟต์แวร์ผู้ช่วยไร้สายใน Windows มันเป็นสิ่งแรกที่ฉันลบบนพีซีเครื่องใหม่
Moab

1
สำหรับฉันมันคือDell Data Vault Service ที่ทำให้เกิด CPU spike ใน WMI Provider นอกจากนี้ยังมีการพึ่งพาที่กล่าวถึงในคำตอบนี้ ฉันพบกับของ Windows วิธีคลีนบูต
Cerveser

38

การแก้ไขปัญหา

  1. ดาวน์โหลดProcDumpจาก Microsoft Sysinternals

  2. ปล่อยให้มันถ่ายโอนข้อมูลเมื่อ WmiPrvSE.EXE ถึง 25% เป็นเวลา 1 วินาที:

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

    สิ่งนี้จะสร้างดัมพ์ในโฟลเดอร์ผู้ใช้ของคุณ

    อย่าลังเลที่จะทำซ้ำ 1-2 ครั้งนี้เพื่อให้คุณมีการทิ้งมากขึ้นและมั่นใจได้ว่าสาเหตุถูกทิ้งและไม่ใช่เหตุการณ์ปกติอีกต่อไป

  3. วิเคราะห์การถ่ายโอนข้อมูลของคุณ (s) ออนไลน์และเลือกที่จะร่วมกันบนSpeedyShare

    ทางเลือก : WinDBGสามารถนำมาใช้กับคำสั่ง!analyze -vให้แน่ใจว่าได้กำหนดสัญลักษณ์

  4. การติดตามสแต็กที่แสดงควรรวมถึงกระบวนการที่ทำให้เกิดปัญหานี้

บางที google สองสามขั้นตอนด้านบนของสแต็กเพื่อให้ได้แนวคิดที่ดีขึ้นว่าพวกเขาทำอะไร
หากพวกเขาไม่ช่วยคุณอาจต้องวิเคราะห์ขั้นสูงเพิ่มเติม ดูส่วนถัดไปของฉัน:


  1. ดาวน์โหลดการตั้งค่าจากเครื่องมือวิเคราะห์ประสิทธิภาพของ Windows สำหรับรุ่น Windows ของคุณ
  2. ติดตั้งซอฟต์แวร์ในระบบของคุณ
  3. เปิดพรอมต์คำสั่งในฐานะผู้ดูแลระบบและคัดลอกวางคำสั่งถัดไป:

    xperf -start perf!GeneralProfiles.InBuffer -stackwalk profile && timeout -1 && xperf -stop perf!GeneralProfiles.InBuffer %HOMEPATH%\myTrace.etl
    
  4. กดENTER หนึ่งครั้งเพื่อเริ่มคำสั่งตอนนี้คุณจะต้องรอจนกว่าขัดขวางจะเกิดขึ้น

  5. หลังจากที่เข็มของENTERคุณไปที่คอนโซลและกด
  6. หลังจากรอสักครู่ไฟล์บันทึก myTrace.etl จะถูกสร้างขึ้นในโฟลเดอร์ผู้ใช้ของคุณ
  7. เรียกใช้คำสั่งต่อไปนี้เพื่อแสดงไฟล์และวิเคราะห์ ( จำเป็นต้องใช้WinDBG / Symbols ):

    xperf %HOMEPATH%\myTrace.etl
    

หากคุณต้องการให้ฉันดู:

  1. บีบอัด myTrace.etl จากโฟลเดอร์ผู้ใช้ของคุณไปยังไฟล์ zip
  2. แบ่งปันไฟล์ซิปอัดSpeedyShare
  3. แชร์ลิงก์ที่นี่ฉันจะพยายามค้นหาและแสดงสาเหตุของปัญหาให้คุณ

เนื่องจาก WmiPrvSE.EXE เป็นโฮสต์สำหรับรันการสืบค้น WMI กับที่เก็บ CAPI คุณอาจไม่สามารถค้นหาสาเหตุได้แม้กับ XPerf เนื่องจากIPCโซลูชันอื่นที่ฉันเพิ่งพบคือการเปิดใช้งานการบันทึก WMI และตรวจสอบบันทึก ตามที่อธิบายไว้ที่นี่ ClientProcessId จะเป็น PID ของกระบวนการที่ทำให้แบบสอบถาม WMI PID นี้สามารถติดตามกลับไปยังกระบวนการได้โดยการเพิ่มคอลัมน์ PID ในตัวจัดการงานหรือProcess Explorerหรือโดยtasklist /FI "PID eq X"ที่ X คือ PID ที่คุณพบ ...


การวิเคราะห์การถ่ายโอนข้อมูล 1 :สาย 94-115 บ่งบอกถึงการเรียกกระบวนการระยะไกล
การวิเคราะห์การถ่ายโอนข้อมูล 2 :สาย 84-105 บ่งบอกถึงการเรียกกระบวนการระยะไกล

ในเคอร์เนลเธรดใหม่จะเริ่มต้นเพื่อจัดการกับ stub การเรียกขั้นตอนระยะไกลซึ่งในสาระสำคัญคือการร้องขอแบบสอบถามที่ผู้ให้บริการ WMI จะดำเนินการและตอบสนอง สิ่งนี้ส่งผลให้เกิดกิจกรรม CPU สูงเนื่องจากการอ่านข้อมูล Registry และ / หรือ Performance

เนื่องจากการถ่ายโอนข้อมูลเป็นการจับภาพช่วงเวลาหนึ่งคุณจะไม่สามารถเห็นกระบวนการที่ดำเนินการ RPC ได้
ดังนั้นคุณต้องมีโปรแกรมที่มีร่องรอยเช่น XPerf เพื่อดูเธรดก่อนหน้าซึ่งจะทำ RPC

หรือถ้าคุณเปิดใช้งานข้อมูลสถานะ RPCคุณสามารถใช้rpcdbgเพื่อดูว่าใครเป็นผู้เริ่มการโทร

ตัวอย่าง:

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]

ตัวอย่างข้างต้นตั้งค่าเบรกพอยต์บน RPC ดังนั้นคุณจะได้เห็นว่าใครทำงานอยู่ในกองซ้อนที่สอง แต่ก็ไม่น่าเป็นไปได้ที่การตั้งค่าเบรกพอยต์ในการโทรครั้งแรก (โปรดทราบว่านี่เป็นการดีบักแบบสด) จะช่วยให้คุณเห็นว่าใครโทรหา WMI Provider ทุกครั้ง ...

มีข้อมูลจำนวนมากในบทความเกี่ยวกับข้อมูลสถานะ RPCที่อาจช่วยได้ แต่ไม่ใช่สำหรับคนใจเสาะที่จะให้เราทำทุกอย่างเมื่อเราสามารถใช้ XPerf แทน :-)


ดังที่เราทราบเกี่ยวกับการทำงานภายในของ RPC ว่าทำงานอย่างไรเราสามารถใช้การตรวจสอบ APIได้เช่นกัน:

  1. ดาวน์โหลดติดตั้งและเริ่มการตรวจสอบ API ( สองครั้งหากคุณมี 64 บิต: หนึ่งครั้ง x86 ครั้งเดียว x64)
  2. ไปที่ไฟล์ -> เรียกใช้ในฐานะผู้ดูแลระบบ
  3. ตั้งAPI Filter Filterเป็นRpcrt4.dllโมดูล

    ป้อนคำอธิบายรูปภาพที่นี่

  4. คล้ายกับเบรกพอยต์เราต้องการรู้ว่าใครเรียกRpcServerUseProtSeqฟังก์ชั่นนี้:

    ป้อนคำอธิบายรูปภาพที่นี่

  5. ขอให้ดำเนินการแต่ละกระบวนการยกเว้นสำหรับผู้ที่มี PID ต่ำ (เพื่อป้องกันการล่ม)
    เหมาะอย่างยิ่งที่คุณไม่ต้องการที่จะขอdwm.exe/ winlogon.exeหรือต่ำกว่า
    คุณสามารถลองใช้กระบวนการเดียวและปลดมันออกภายหลังจากหน้าต่างHooked Processes ...

    แม้ว่า ... ฉันได้ลองแล้วและจะขอเกี่ยวกับกระบวนการใดก็ได้

  6. หากทุกอย่างเป็นไปด้วยดีกระบวนการ Hookedที่ทำให้การเรียก RPC จะมีเธรด
    และเมื่อคลิกที่กระทู้เหล่านี้คุณควรเห็นการโทรจำนวนมาก
    หากคุณพบว่าคุณพบกระบวนการที่ทำให้เกิดปัญหา!

วิธีการแก้

การทำให้คอมพิวเตอร์ของคุณทันสมัยอยู่เสมอเป็นสิ่งสำคัญการติดตั้งHPWA 4.0.10.0ช่วยแก้ปัญหานี้! ;-)


@TomWij - การวิเคราะห์การถ่ายโอนข้อมูลออนไลน์1 , 2 ทิ้งบนDropbox นอกจากนี้ฉันรู้ PID ฉันจะทำอะไรกับมันได้บ้าง
Sathyajith Bhat

1
คำตอบที่ดีมาก @TomWiji เอกสารช่วยจริงๆ ...
studiohack

เพิ่งติดตั้ง HPWA ดูเหมือนจะไม่เตะอาจต้องรีบูต หากเกิดขึ้นบนพีซีของฉันฉันจะพยายามอัปเดตโพสต์และแสดงว่าวิธีการแก้ไขปัญหาส่วนใหญ่สามารถแสดงให้คุณเห็นว่าปัญหาเกิดขึ้น
Tamara Wijsman

2
ฉันชอบคำตอบของ nhinkles ดีขึ้นนิดหน่อย - แต่มันยอดเยี่ยมและเป็นประโยชน์เช่นกัน - ที่สำคัญที่สุดเครื่องมืออย่าง API monitor เป็นสิ่งที่ฉันเริ่มคิดถึงเมื่อไม่นานมานี้ขอบคุณและ +1 สำหรับคำแนะนำ
Tobias Plutat

2
@Tom ฉันไม่ได้อยู่ภายใต้ความประทับใจนั้นและแน่นอนฉันไม่ต้องการบอกเป็นนัย ถึงกระนั้นฉันก็รู้สึกอยากที่จะรับรู้คำตอบที่ยอดเยี่ยมสองคำตอบของปัญหาด้วยการใช้คำฟุ่มเฟื่อยและความแตกต่างมากกว่าเล็กน้อย :)
Tobias Plutat

13

รายการบล็อกของ Microsoft WMIprvse เป็นตัวร้ายจริงหรือ แสดงวิธีการค้นหากระบวนการที่รับผิดชอบ CPU ที่ WmiPrvSE.exe ใช้

วิธีใช้ตัวเลือก Event Viewer ของ "Show Analytic and Debug Logs" เพื่อติดตามกิจกรรม WMI ทั้งหมดซึ่งจะทำให้ได้รับรหัสกระบวนการของกระบวนการที่มีความผิด


ใช่บอกว่าไม่กี่วันก่อนหน้านี้และมันยังอยู่ในโพสต์ของฉันระหว่าง XPerf และ Dump Analysis แต่เขาไม่ได้ตรวจสอบหมายเลข PID, ทำ XPerf หรือทำการตรวจสอบ API ดังนั้นฉันจะต้องรอเขาก่อนที่จะสมัครต่อไป การวิเคราะห์
Tamara Wijsman

7

เพียงแค่เพิ่มสิ่งนี้ให้กับทุกคนในเรือลำเดียวกันหน้านี้มีอยู่ทั่ว Google ฉันมีปัญหาเดียวกันกับ WmiProvderHost CPU มากถึง 50% และใช้พลังงานจากแบตเตอรี่ใน Lenovo Yoga2 Pro ของฉันบน Windows 8.1

การปฏิบัติตามคำแนะนำการตรวจสอบที่ดีเยี่ยมด้านบนฉันค้นพบปัญหาสำหรับฉันจริงๆแล้วGoPro Studio (ซอฟต์แวร์ตัดต่อวิดีโอฟรีที่มาพร้อมกับกล้อง GoPro) มันติดตั้งบริการตรวจสอบซึ่งรอให้คุณเชื่อมต่อกล้องของคุณและสำหรับฉันนี่คือผู้ร้าย


3
Windows 8.1 หลังจากปิดโปรแกรมถิ่นที่อยู่ของ GoPro การใช้งาน CPU ของโฮสต์ WMI Provider ของฉันลดลงจาก 40% เป็น 8%
user63227

Windows 8.1 ยังประสบปัญหาการใช้งาน CPU สูงด้วยซอฟต์แวร์ GoPro ปิดจากถาดระบบและกลับเป็นปกติ (และปิดการใช้งานเมื่อเริ่มต้นทันที)
Robin

4

ในการดีบักให้ใช้ xperf จากชุดเครื่องมือ Windows Performanceและเรียกใช้ไฟล์ cmd นี้:

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

เปิด WMItracing.etl ที่สร้างขึ้นใน WPA.exe และปิด & วางกราฟ "เหตุการณ์ทั่วไป" จากด้านซ้ายไปยังบานหน้าต่างการวิเคราะห์

ป้อนคำอธิบายรูปภาพที่นี่

ตอนนี้กรองเหตุการณ์Microsoft-Windows-WMI-Activityเท่านั้นแล้วมองหาการดำเนินการ WMI และ ClientProcessId

ในตัวอย่างของฉันมัน ClientProcessID นี้เป็นเครื่องมือที่เรียกว่าVeeam ONE ตรวจสอบเซิร์ฟเวอร์ หยุดมันแก้ไขปัญหาการใช้งาน CPU

และตัวอย่างที่สองแสดงไว้ที่นี่:

ป้อนคำอธิบายรูปภาพที่นี่

คุณเห็นการโทรซ้ำของกระบวนการด้วย PID ของปี 1924 ซึ่งเป็นของบริการตรวจสอบ Intel ProSet

นี่คือการใช้งาน CPU ที่แสดงใน callstacks การสุ่มตัวอย่าง CPU ด้วย:

ป้อนคำอธิบายรูปภาพที่นี่

ดังนั้นเครื่องมือ Intel จะทำการแจ้งเตือน WMI บ่อยเกินไปซึ่งจะทำให้เกิดปัญหา หยุดมันแก้ไขปัญหา


1

คุณเคยลองดูว่าเป็นไวรัสหรือไม่? ไวรัสบางตัวชอบที่จะแห่ไปรอบ ๆ เป็นบริการของ Windows เช่นนั้น ตรวจสอบให้แน่ใจว่าWmiPrvSE.exeกระบวนการอยู่ในc:\windows\system32\wbemไดเรกทอรี ถ้าไม่คุณอาจต้องการเรียกใช้โปรแกรมตรวจจับสปายแวร์ทั่วไป หากไม่ใช่สปายแวร์อาจเป็นอีกบริการหนึ่งที่เรียกใช้ ฉันรู้ว่าฉันมีแกดเจ็ตบางอย่างที่ทำงานบนคอมพิวเตอร์ของฉันอย่างรวดเร็วและบางครั้งแกดเจ็ตของตัวตรวจสอบประสิทธิภาพทำให้บางครั้ง CPU ของฉันเพิ่มขึ้นเล็กน้อย นอกจากนี้ยังอาจเป็นบริการอื่นที่กดก๊าซนั้นทุก ๆ คราว เช่น bloatware จาก HP, Dell และอื่น ๆ

นอกจากนั้นคำตอบอื่น ๆ จาก TomWij ก็ค่อนข้างดีสำหรับการแก้ปัญหา!


1
อีกวิธีหนึ่งที่ใช้กันทั่วไปในการตรวจสอบคือใช้Process Explorerจาก Sysinternals จากนั้นเปิดใช้งานVerify Signaturesตัวเลือก จากนั้นถ้ามันบอกว่า(Verified) Xอยู่ในVerified Signerคอลัมน์มันจะถูกตรวจสอบโดย Microsoft และปฏิบัติการเป็นส่วนหนึ่งของผลิตภัณฑ์ / บริษัทXในกรณีMicrosoft Windowsนี้
Tamara Wijsman

ฉันค่อนข้างมั่นใจว่าไม่มีไวรัส / มัลแวร์ นอกจากนี้ WmiPrvSE ยังมีอยู่C:\Windows\system32\wbemและคอลัมน์ที่ผ่านการตรวจสอบจะระบุว่าไฟล์นั้นได้รับการตรวจสอบแล้ว @TomWij
Sathyajith Bhat

@ Sathya ฉันอาจจะบอกว่ามันเป็น bloatware แล้วโดยเฉพาะอย่างยิ่งเพราะคุณแสดงความคิดเห็นว่าคุณมี HP "w / HP รวมอึ" ลองใช้ msconfig และปิดใช้งานบริการและโปรแกรม HP ทั้งหมดเมื่อเริ่มต้นและดูว่ามีประโยชน์หรือไม่
Duall

จุดฉันตั้งใจที่จะติดตั้ง Win 7 อีกครั้งเมื่อฉันแก้ไข SSD ของฉันคิดว่านี่จะเป็นคำถามที่น่าสนใจ - ยิ่งกว่านั้นเพื่อเรียนรู้วิธีการแก้ปัญหา
Sathyajith Bhat
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.