หลังจาก Windows 10 Fall Builders Update อินสแตนซ์ svchost.exe ใช้เวลา CPU อย่างต่อเนื่อง


10

ตั้งแต่ติดตั้ง Windows 10 Fall Builders Update ฉันมีsvchost.exeกระบวนการที่ใช้ CPU ตลอดเวลาประมาณ 14%:

กราฟของการใช้ CPU

นี้svchost.exeเช่นเป็นผู้รับผิดชอบสำหรับพื้นที่สามบริการ:

Base Filtering Engine, CoreMessaging, ไฟร์วอลล์ Windows Defender

เวลา CPU จะถูกใช้โดยเธรดภายในกระบวนการนั้นProcess Hackerไม่สามารถอ้างถึงบริการใด ๆ ของทั้งสามนี้

สกรีนช็อตจาก Process Hacker

เนื่องจากบริการทั้งสามนี้ถือเป็นบริการระบบที่สำคัญจึงไม่สามารถทำอะไรกับมันได้ บริการเหล่านี้ไม่สามารถหยุดหรือปิดการใช้งานโดยservices.mscและยุติกระบวนการทริกเกอร์การตรวจสอบจุดบกพร่อง ( CRITICAL_PROCESS_DIED) การปิดใช้งานไฟร์วอลล์ Windows Defender ผ่าน UI การตั้งค่าไม่ลดการใช้งาน CPU

ฉันไม่มีความคิด สิ่งที่อาจทำให้เกิดสิ่งนี้ ฉันจะแก้ไขข้อบกพร่องนี้เพิ่มเติมได้อย่างไร มีวิธีแก้ปัญหาเพื่อหยุดบริการเหล่านี้หรือไม่?


อัปเดต:หลังจากแก้จุดบกพร่องด้วย@HelpingHandเราได้แยกสิ่งนี้กับบริการ Windows Defender Firewall การตรวจสอบกระบวนการแสดงให้เห็นว่ามันเข้าถึงรีจิสทรีอย่างต่อเนื่อง:

สกรีนช็อตจาก Process Monitor

ส่งออก CSV ของกระบวนการการจับภาพการตรวจสอบกรองกระบวนการที่มีอยู่ที่นี่

ฉันยังคงมองหาวิธีหยุดพฤติกรรมดังกล่าว


อัปเดต 2: การวิเคราะห์ด้วย Windows Performance Analyzer แสดงว่าเวลา CPU ส่วนใหญ่ถูกใช้โดยรหัสจากrpcrt4.dll:

สกรีนช็อตจาก Windows Performance Analyzer


1
หากคุณรันคำสั่ง 2 ต่อไปนี้ในพรอมต์ผู้ดูแลระบบและรีสตาร์ท ถ้ามีกระบวนการ Svchost เป็นสาเหตุของ CPU สูงแล้ว: Sc config BFE type= ownแล้วSc config MpsSvc type= own
HelpingHand

1
เนื่องจากคุณมี Process Hacker อยู่แล้วหากคุณพบกระบวนการ svchost ที่โฮสต์ BFE เช่น หากคุณคลิกสองครั้งที่ชื่อบริการในแท็บบริการจากนั้นดูแท็บความปลอดภัยฉันจะคิดว่าผู้ดูแลระบบจะมีสิทธิ์ในการกำหนดค่า การทำงานข้างต้นสำหรับฉัน
ช่วยมือ

1
บางทีตอนนี้คุณสามารถรันการตรวจสอบกระบวนการด้วยการกรองไปที่ PID นั้น ดูสิ่งที่ปรากฏขึ้น
ช่วยมือ

1
มันทำบนคอมพิวเตอร์ของฉันเช่นกัน TBH ผมคิดว่าทางออกที่ดีที่สุดของคุณคือการติดตั้งเครื่องมือ Windows ประสิทธิภาพ Toolkit - docs.microsoft.com/en-us/windows-hardware/test/wpt โดยพื้นฐานแล้วคุณจะต้องใช้ Windows Performance Recorder เพื่อบันทึกไฟล์ติดตามและ Windows Performance Analyzer เพื่อวิเคราะห์ channel9.msdn.com/Shows/Defrag-Toolsมีรายการที่ดีบางรายการ
ช่วยมือ

1
อย่าเรียงตามโมดูล ลบคอลัมน์นี้ ติดตามเหตุการณ์ RPC ด้วย ดาวน์โหลดไฟล์นี้รัน WPRUI.exe คลิกที่เพิ่มโปรไฟล์เลือก WPRP ที่ดาวน์โหลดเลือกโปรไฟล์การใช้ CPU และโปรไฟล์การใช้เครือข่ายภายใต้การวัดแบบกำหนดเอง คลิกที่เริ่มและจับการใช้งานเป็นเวลา 30 วินาที ตอนนี้ดูว่า PID ใดที่มีการใช้งาน cpu สูงและในตัวกรองกราฟ / ตารางเหตุการณ์ทั่วไปสำหรับ exe ที่มีการใช้งานสูงและเหตุการณ์ RPC และดูว่าการกระทำ rpc ใดที่เสร็จสิ้นแล้ว
magicandre1981

คำตอบ:


11

ตามที่ปรากฎสิ่งนี้เกี่ยวข้องกับ Internet Connection Sharing (ICS)

ในต่อไปนี้ฉันต้องการอธิบายว่าฉันได้รับข้อสรุปนี้ด้วยความหวังได้อย่างไรช่วยคนอื่น ๆ ที่มีปัญหาคล้ายกัน


ขั้นตอนแรกคือการระบุบริการที่ก่อให้เกิดปัญหา ในขณะที่ Task Manager ของ Windows ได้เรียนรู้การทำเช่นนี้เมื่อเร็ว ๆ นี้ฉันใช้Process Hackerซึ่งสามารถแก้ไขการกำหนดค่าของบริการได้

ดับเบิลคลิกที่svchost.exeอินสแตนซ์ที่ละเมิดและเลือกแท็บบริการจะแสดงว่าบริการใดกำลังทำงานอยู่ในกระบวนการนั้น:

คุณสมบัติ svchost.exe (1688)

svchost.exeสามารถโฮสต์บริการ Windows หลายอย่างในเวลาเดียวกันทำให้ยากที่จะระบุว่าบริการใดเป็นสาเหตุของปัญหา แม้ว่าโดยทั่วไปแล้ว Windows 10 รุ่นล่าสุดจะแยกบริการเมื่อมีแรมเพียงพอแต่บริการบางอย่างยังคงใช้กระบวนการร่วมกัน

นี่เป็นกรณีดังกล่าวและวิธีที่ง่ายที่สุดในการระบุว่าบริการใดที่ทำให้เกิดปัญหาคือการแยกพวกเขาออก

กระบวนการแฮ็กเกอร์สามารถทำได้ ในแท็บบริการหลักของ windows เราสามารถกำหนดค่าว่าบริการสามารถแบ่งปันกระบวนการได้หรือไม่:

คุณสมบัติ MpsSvc

อย่างน้อยสองในสามบริการต้องสงสัยจะต้องกำหนดค่าเป็นกระบวนการของตัวเองเพื่อให้แน่ใจว่าพวกเขาจะถูกแยกออกในอนาคต

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

  • ให้สิทธิ์การเข้าถึงแบบเต็มแก่กลุ่มผู้ดูแลระบบในบริการนั้น
  • ปิดการใช้งานบริการ
  • รีบูตเพื่อหยุดบริการ (ไม่สามารถหยุดแยกต่างหาก)
  • เปลี่ยนประเภทบริการเป็นกระบวนการของตัวเองและเปิดใช้งานบริการอีกครั้ง (ตั้งค่าเป็นเริ่มอัตโนมัติ ) และ
  • รีบูตหนึ่งครั้งล่าสุดเพื่อใช้การเปลี่ยนแปลงเหล่านี้

หลังจากนั้นผู้กระทำผิดsvchost.exeเพียงโฮสต์บริการเดียวดังนั้นเราจึงมีผู้ต้องสงสัย:

ไฟร์วอลล์ Windows Defender (MpsSvc)

การวิเคราะห์สิ่งที่เกิดขึ้นภายในบริการไฟร์วอลล์, เราจะใช้ Windows ประสิทธิภาพบันทึกและเครื่องมือ Windows วิเคราะห์ประสิทธิภาพเป็นส่วนหนึ่งของของ Windows ADK

เราจะเริ่มด้วยการบันทึกข้อมูลบางอย่าง ในขณะที่ผู้ต้องสงสัยsvchost.exeกำลังติดอยู่ในพื้นหลังให้ดาวน์โหลดไฟล์นี้เพิ่มเป็นโปรไฟล์ตั้งค่า Windows Performance Recorder เช่นนี้และเริ่มการบันทึก:

Windows Performance Recorder: ทำเครื่องหมายเลือก triage ระดับแรกและโปรไฟล์การใช้งาน CPU

ปล่อยให้การบันทึกทำงานเป็นเวลา 30 วินาทีหรือมากกว่านั้นจากนั้นบันทึกการบันทึก หลังจากบันทึกแล้วให้คลิกเปิดใน WPAเพื่อเปิดทันทีเพื่อทำการวิเคราะห์

นี่คือสิ่งที่เริ่มมีเล่ห์เหลี่ยม ในกรณีของฉันฉันต้องการคำแนะนำจาก @ magicandre1981 ให้มองในสถานที่ที่เหมาะสมภายใต้การทำงานของระบบ → ทั่วไปเหตุการณ์ ที่นั่นจำนวนกิจกรรม RPC ดูสูงอย่างน่าสงสัย:

เหตุการณ์ 46.918 Microsoft-Windows-RPC

เมื่อเจาะลึกลงไปไฟร์วอลล์ Windows Defender svchost.exeก็ปรากฏขึ้นมากมายในฝั่งเซิร์ฟเวอร์win:Startและwin:Stopกิจกรรม:

RpcServerCall

ขั้นตอนต่อไปคือการค้นหาว่าใครเป็นผู้ส่งการเรียก RPC เหล่านี้ เมื่อดูในฝั่งไคลเอ็นต์svchost.exeอินสแตนซ์อื่นก็ดูน่าสงสัย:

RpcClientCall

อันที่จริงแล้วกระบวนการแฮ็กเกอร์ไม่สามารถตรวจพบบริการที่กำลังทำงานอยู่ภายในกระบวนการดังกล่าวซึ่งก่อให้เกิดภาระของ CPU อย่างต่อเนื่อง:

ชื่อกลุ่มบริการ: netsvcs

ในกรณีนี้ Windows 'Task Manager ประสบความสำเร็จในการระบุบริการ:

การแบ่งปันการเชื่อมต่ออินเทอร์เน็ต (ICS)

บริการถูกติดอยู่ในสถานะเริ่มต้น ฉันปิดการใช้งานเนื่องจากฉันไม่ต้องการใช้งานและโหลดของ CPU กลับมาเป็นปกติหลังจากรีบูตครั้งถัดไป


ฉันต้องการแสดงความขอบคุณต่อ @HelpingHand และ @ magicandre1981 ซึ่งความช่วยเหลือในการแสดงความคิดเห็นทำให้เป็นไปได้


ตามที่ค้นพบในภายหลังในโพสต์ TenForums การรีเซ็ต Windows Defender Firewall แก้ไขปัญหานี้


@HelpingHand: จะเกิดอะไรขึ้นถ้าหากใครใช้Internet Connection Sharing (ICS)บริการไม่ได้? WiFi Hotspot จะไม่มีตัวเลือกอีกต่อไปหรือไม่
llinfeng

กระบวนการนี้ง่ายกว่าเล็กน้อยใน Process Explorer หากคุณคลิกขวาที่ "svchost.exe" ซึ่งใช้หน่วยประมวลผลคงที่จำนวนเงิน (กรณีของฉันคือค่าคงที่ 5%) และคลิกแท็บ "บริการ" คุณจะเห็นว่าบริการใดกำลังทำงานอยู่ภายใต้ svchost นี้ ฉันมีเพียงหนึ่งเดียวในกรณีนี้ ICS ทำนองเดียวกันการแชร์การเชื่อมต่ออินเทอร์เน็ตของฉันก็ติดอยู่ในสถานะเริ่มต้น ไปที่ "การป้องกันไฟร์วอลล์และเครือข่าย" ฉันสามารถคลิก "กู้คืนไฟร์วอลล์เป็นค่าเริ่มต้น" - ซึ่งแก้ไขปัญหาของฉันได้ทันที
Howard Lince III 3

@Howard: พิจารณาตัวเองโชคดี - หนึ่งในความยุ่งยากของนายกเทศมนตรีสำหรับฉันคือบริการสามอย่างที่แบ่งปันปัญหาที่มีปัญหาsvchost.exeทำให้ยากที่จะระบุบริการที่ทำให้เกิดปัญหานี้ ฉันไม่แน่ใจว่าทำไมพวกเขาไม่แบ่งปันกระบวนการโฮสต์ในอินสแตนซ์ของคุณ
fefrei

2

มันง่ายกว่านี้ฉันประสบความสำเร็จโดยการรีเซ็ตการตั้งค่า Windows Firewall ของพวกเขา (โดยเฉพาะอย่างยิ่งถ้ามีตัวขัดขวางที่เกี่ยวข้องในการโหลด CPU) โดยใช้คำแนะนำนี้: -

การรีเซ็ตไฟร์วอลล์ Windows Defender เป็นการตั้งค่าเริ่มต้นสามารถแก้ไขปัญหาได้

ในการเปิดการตั้งค่า -> อัปเดตและความปลอดภัย -> Windows Defender -> เปิดศูนย์รักษาความปลอดภัย Windows Defender -> การป้องกันไฟร์วอลล์และเครือข่าย -> กู้คืนการตั้งค่าเริ่มต้นของไฟร์วอลล์

หวังว่าสิ่งนี้จะช่วยและทำงานให้กับคนอื่น ... ดูเหมือนจะเป็นปัญหาที่แพร่หลาย


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

0

ในกรณีของฉันหลังจากลองใช้การแก้ไขที่ไม่สำเร็จหลายครั้ง (รวมถึงคำแนะนำข้างต้นบางอย่างเช่นการรีเซ็ต Windows Firewall) ฉันปิดการใช้งาน "บริการวิเคราะห์นโยบาย" และหยุดการทำงานของ CPU ในที่สุด นี่อาจไม่ใช่โซลูชันที่สมบูรณ์แบบ แต่ดูเหมือนจะไม่ใช่บริการที่สำคัญ นี่คือวิธีปิดการใช้งาน:

  1. เปิด "การกำหนดค่าระบบ" ('msconfig.exe') ในฐานะผู้ดูแล
  2. แท็บทั่วไป: เลือก "Selective startup"
  3. แท็บบริการ: ยกเลิกการเลือก "บริการนโยบายการวินิจฉัย"
  4. รีบูท Windows

ขอบคุณช่อง YouTube ของ Ranga Rajesh Kumar ที่ชี้ให้ฉันไปยังโซลูชันนี้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.