กระบวนการโฮสต์บริการ (svchost.exe) คืออะไรและเหตุใดจึงมีการเรียกใช้จำนวนมาก

หากคุณเคยเรียกดูผ่านตัวจัดการงานคุณอาจสงสัยว่าเหตุใดจึงมีกระบวนการโฮสต์บริการจำนวนมากทำงานอยู่ คุณไม่สามารถฆ่าพวกมันได้และคุณแน่ใจว่าไม่ได้เริ่มต้น แล้วพวกเขาคืออะไร?

กระบวนการโฮสต์บริการทำหน้าที่เป็นเชลล์สำหรับโหลดบริการจากไฟล์ DLL บริการถูกจัดเป็นกลุ่มที่เกี่ยวข้องและแต่ละกลุ่มจะถูกเรียกใช้ภายในอินสแตนซ์ที่แตกต่างกันของกระบวนการโฮสต์บริการ ด้วยวิธีนี้ปัญหาในอินสแตนซ์หนึ่งจะไม่ส่งผลกระทบต่ออินสแตนซ์อื่น กระบวนการนี้เป็นส่วนสำคัญของ Windows ที่คุณไม่สามารถป้องกันไม่ให้ทำงานได้ 

บทความนี้เป็นส่วนหนึ่งของซีรี่ส์ต่อเนื่องของเราที่อธิบายกระบวนการต่างๆที่พบในตัวจัดการงานเช่น dwm.exe, ctfmon.exe, mDNSResponder.exe, conhost.exe, rundll32.exe, Adobe_Updater.exe และอื่น ๆ อีกมากมาย ไม่รู้ว่าบริการเหล่านั้นคืออะไร? เริ่มอ่านกันเลยดีกว่า!

กระบวนการโฮสต์บริการคืออะไร?

นี่คือคำตอบตามที่ Microsoft:

Svchost.exe เป็นชื่อกระบวนการโฮสต์ทั่วไปสำหรับบริการที่เรียกใช้จากไลบรารีไดนามิกลิงก์

แต่นั่นไม่ได้ช่วยอะไรเรามากนัก เมื่อไม่นานมานี้ Microsoft ได้เริ่มเปลี่ยนฟังก์ชันการทำงานของ Windows โดยใช้บริการ Windows ภายใน (ซึ่งเรียกใช้จากไฟล์ EXE) ไปใช้ไฟล์ DLL แทน จากมุมมองของการเขียนโปรแกรมสิ่งนี้ทำให้โค้ดสามารถนำกลับมาใช้ใหม่ได้มากขึ้นและเนื้อหาต่างๆจะอัปเดตได้ง่ายขึ้น ปัญหาคือคุณไม่สามารถเปิดไฟล์ DLL โดยตรงจาก Windows ได้เช่นเดียวกับไฟล์ปฏิบัติการ แต่เชลล์ที่โหลดจากไฟล์ปฏิบัติการจะถูกใช้เพื่อโฮสต์เซอร์วิส DLL เหล่านี้ ดังนั้นกระบวนการโฮสต์บริการ (svchost.exe) จึงถือกำเนิดขึ้น

เหตุใดจึงมีกระบวนการโฮสต์บริการจำนวนมากทำงานอยู่

ที่เกี่ยวข้อง: กระบวนการนี้คืออะไรและเหตุใดจึงทำงานบนพีซีของฉัน

หากคุณเคยดูส่วนบริการในแผงควบคุมคุณอาจสังเกตเห็นว่า Windows ต้องการบริการจำนวนมาก หากทุกบริการทำงานภายใต้กระบวนการโฮสต์บริการเดียวความล้มเหลวในบริการเดียวอาจทำให้ Windows ทั้งหมดล่ม แต่พวกเขาจะแยกออก

บริการจะถูกจัดเป็นกลุ่มตรรกะที่เกี่ยวข้องกันทั้งหมดจากนั้นอินสแตนซ์ Service Host เดียวจะถูกสร้างขึ้นเพื่อโฮสต์แต่ละกลุ่ม ตัวอย่างเช่นกระบวนการโฮสต์บริการหนึ่งกระบวนการเรียกใช้บริการสามบริการที่เกี่ยวข้องกับไฟร์วอลล์ กระบวนการโฮสต์บริการอื่นอาจเรียกใช้บริการทั้งหมดที่เกี่ยวข้องกับอินเทอร์เฟซผู้ใช้และอื่น ๆ ตัวอย่างเช่นในภาพด้านล่างคุณจะเห็นว่ากระบวนการโฮสต์บริการหนึ่งเรียกใช้บริการเครือข่ายที่เกี่ยวข้องหลายอย่างในขณะที่อีกกระบวนการหนึ่งเรียกใช้บริการที่เกี่ยวข้องกับการเรียกกระบวนงานระยะไกล

มีอะไรให้ฉันทำกับข้อมูลทั้งหมดนี้หรือไม่?

ที่เกี่ยวข้อง: คุณควรปิดบริการ Windows เพื่อเร่งความเร็วพีซีของคุณหรือไม่?

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

หากคุณสังเกตเห็นว่าอินสแตนซ์ของโฮสต์บริการหรือบริการที่เกี่ยวข้องก่อให้เกิดปัญหาเช่นการใช้งาน CPU หรือ RAM มากเกินไปอย่างต่อเนื่องคุณสามารถตรวจสอบบริการเฉพาะที่เกี่ยวข้องได้ อย่างน้อยก็อาจช่วยให้คุณทราบว่าจะเริ่มแก้ไขปัญหาได้ที่ไหน มีสองสามวิธีในการดูว่าบริการใดบ้างที่โฮสต์โดยอินสแตนซ์เฉพาะของโฮสต์บริการ คุณสามารถตรวจสอบสิ่งต่างๆภายในตัวจัดการงานหรือใช้แอปของบุคคลที่สามที่มีชื่อว่า Process Explorer

ตรวจสอบบริการที่เกี่ยวข้องในตัวจัดการงาน

หากคุณใช้ Windows 8 หรือ 10 กระบวนการต่างๆจะแสดงบนแท็บ“ กระบวนการ” ของตัวจัดการงานตามชื่อเต็ม หากกระบวนการทำหน้าที่เป็นโฮสต์สำหรับบริการต่างๆคุณสามารถดูบริการเหล่านั้นได้โดยเพียงแค่ขยายกระบวนการ ทำให้ง่ายมากในการระบุว่าบริการใดเป็นของแต่ละอินสแตนซ์ของกระบวนการโฮสต์บริการ

คุณสามารถคลิกขวาที่บริการใดก็ได้เพื่อหยุดบริการดูในแอป "บริการ" แผงควบคุมหรือแม้แต่ค้นหาข้อมูลเกี่ยวกับบริการทางออนไลน์

หากคุณใช้ Windows 7 สิ่งต่าง ๆ จะแตกต่างกันเล็กน้อย ตัวจัดการงานของ Windows 7 ไม่ได้จัดกลุ่มการประมวลผลในลักษณะเดียวกันและไม่ได้แสดงชื่อกระบวนการปกติ แต่จะแสดงเฉพาะอินสแตนซ์ทั้งหมดของ“ svchost.exe” ที่ทำงานอยู่ คุณต้องสำรวจเล็กน้อยเพื่อตรวจสอบบริการที่เกี่ยวข้องกับอินสแตนซ์เฉพาะของ“ svchost.exe”

บนแท็บ“ กระบวนการ” ของตัวจัดการงานใน Windows 7 คลิกขวาที่กระบวนการ“ svchost.exe” เฉพาะจากนั้นเลือกตัวเลือก“ ไปที่บริการ”

สิ่งนี้จะพลิกคุณไปที่แท็บ“ บริการ” ซึ่งมีการเลือกบริการที่ทำงานภายใต้กระบวนการ“ svchost.exe” นั้นทั้งหมด

จากนั้นคุณจะเห็นชื่อเต็มของแต่ละบริการในคอลัมน์ "คำอธิบาย" เพื่อให้คุณสามารถเลือกปิดใช้งานบริการนี้ได้หากคุณไม่ต้องการให้บริการนั้นทำงานหรือแก้ไขสาเหตุที่ทำให้เกิดปัญหา

ตรวจสอบบริการที่เกี่ยวข้องโดยใช้ Process Explorer

Microsoft ยังมีเครื่องมือขั้นสูงที่ยอดเยี่ยมสำหรับการทำงานกับกระบวนการซึ่งเป็นส่วนหนึ่งของกลุ่มผลิตภัณฑ์ Sysinternals เพียงดาวน์โหลด Process Explorer และเรียกใช้มันเป็นแอปแบบพกพาจึงไม่จำเป็นต้องติดตั้ง Process Explorer มีคุณสมบัติขั้นสูงทุกประเภทและเราขอแนะนำให้อ่านคู่มือเพื่อทำความเข้าใจ Process Explorer เพื่อเรียนรู้เพิ่มเติม

ที่เกี่ยวข้อง: แอป "พกพา" คืออะไรและทำไมจึงมีความสำคัญ

สำหรับวัตถุประสงค์ของเราที่นี่ Process Explorer จะจัดกลุ่มบริการที่เกี่ยวข้องภายใต้แต่ละอินสแตนซ์ของ“ svchost.exe” จะแสดงตามชื่อไฟล์ แต่ชื่อเต็มจะแสดงในคอลัมน์ "คำอธิบาย" ด้วย คุณยังสามารถเลื่อนตัวชี้เมาส์ไปเหนือกระบวนการ“ svchost.exe” เพื่อดูป๊อปอัปที่มีบริการทั้งหมดที่เกี่ยวข้องกับกระบวนการนั้นแม้กระทั่งบริการที่ไม่ได้ทำงานอยู่ในขณะนี้

กระบวนการนี้อาจเป็นไวรัสได้หรือไม่?

กระบวนการนี้เป็นส่วนประกอบของ Windows อย่างเป็นทางการ แม้ว่าจะเป็นไปได้ว่าไวรัสได้แทนที่ Service Host จริงด้วยปฏิบัติการของตัวเอง แต่ก็ไม่น่าเป็นไปได้มากนัก หากคุณต้องการความแน่ใจคุณสามารถตรวจสอบตำแหน่งไฟล์ที่อยู่ภายใต้กระบวนการ ในตัวจัดการงานคลิกขวาที่กระบวนการโฮสต์บริการและเลือกตัวเลือก“ เปิดตำแหน่งไฟล์”

หากไฟล์ถูกเก็บไว้ในโฟลเดอร์ Windows \ System32 ของคุณคุณสามารถค่อนข้างมั่นใจได้ว่าคุณไม่ได้เกี่ยวข้องกับไวรัส

ที่เกี่ยวข้อง: โปรแกรมป้องกันไวรัสที่ดีที่สุดสำหรับ Windows 10 คืออะไร (Windows Defender ดีเพียงพอหรือไม่)

ที่กล่าวว่าหากคุณยังต้องการความอุ่นใจอีกเล็กน้อยคุณสามารถสแกนหาไวรัสโดยใช้โปรแกรมสแกนไวรัสที่คุณต้องการได้ตลอดเวลา ปลอดภัยดีกว่าเสียใจ!