Service Host Process หรือไฟล์ svchost.exe คืออะไรทำไมถึงใช้ทรัพยากรเครื่อง Windows หนักขนาดนั้น วันนี้เราจะมาไขปริศนาพร้อมบอกวิธีแก้ไขเบื้องต้นกัน
เชื่อว่าหลายๆ คนที่เคยเปิด Task Manager ดูนั้นจะสังเกตเห็นบริการหนึ่งที่ทำงานอยู่ตลอดเวลาซึ่งนั่นก็คือ Service Host Process หรือไฟล์ svchost.exe บางครั้งมันก็ทำงานแบบนิ่งๆ ไม่ใช้ทรัพยากรของเครื่องคอมพิวเตอร์ระบบปฎิบัติการ Windows เท่าไรนัก ทว่าในบางครั้งเจ้า Service Host Process หรือไฟล์ svchost.exe นี้ก็ใช้งานทรัพยากรของเครื่องสูงมากๆ ทั้งในส่วนของ CPU และ RAM
ในบทความนี้เราจะขอนำเสนอว่า Service Host Process หรือไฟล์ svchost.exe นั้นคืออะไร ทำไมมันถึงใช้ทรัพยากรของเครื่องหนักมากและคุณสามารถจัดการอะไรกับเจ้า Service Host Process หรือไฟล์ svchost.exe ได้หรือไม่ จะเป็นอย่างไรบ้างนั้นไปติดตามกันได้เลย
- Service Host Process หรือไฟล์ svchost.exe คืออะไร
- วิธีตรวจสอบ Service Host processes ใน Task Manager
- svchost.exe ปลอดภัยหรือไม่
- วิธีปิดการทำงาน svchost.exe
- วิธีลบไวรัส svchost.exe
Service Host Process หรือไฟล์ svchost.exe คืออะไร
Service Host Process หรือ Svchost.exe เป็นชื่อกระบวนการโฮสต์ทั่วไปสำหรับบริการที่เรียกใช้จากไลบรารีไดนามิกลิงก์
ข้อความทางด้านบนนี้เป็นคำตอบของ Microsoft เกียวกับเรื่องที่มีคนถามว่า Service Host Process หรือ Svchost.exe คืออะไรแต่นั่นไม่ได้อธิบายอะไรเรื่องดังกล่าวนี้มากนัก ดังนั้นหากอยากจะพูดถึง Service Host Process หรือ Svchost.exe แล้วนั้นต้องย้อนกับไปเมื่อไม่นานมานี้ที่ทาง Microsoft ได้เริ่มทำการเปลี่ยนฟังก์ชันการทำงานของ Windows ส่วนใหญ่จากการใช้บริการ Windows ภายใน (หรือเรียกใช้งานบริการต่างๆ ที่ Windows ต้องการจากไฟล์ EXE) เป็นการใช้ไฟล์ DLL แทน
ถ้ามองในมุมมองของการเขียนโปรแกรม การแก้ไขดังกล่าวนี้ทำให้โค้ดสามารถนำมาใช้ซ้ำได้มากขึ้นและง่ายต่อการติดตามการทำงานของกระบวนการทำงานนั้นๆ ปัญหาก็คือคือคุณไม่สามารถเปิดไฟล์ DLL จาก Windows ได้โดยตรงแบบเดียวกับที่คุณเปิดไฟล์ EXE ซึ่งนักเขียนโปรแกรมจะใช้เชลล์ที่โหลดจากไฟล์ EXE เพื่อเรียกทำงานบริการ DLL เหล่านี้แทน
ดังนั้น Service Host Process (svchost.exe) จึงถือกำเนิดขึ้น เพื่อเป็นไฟล์กลางในการเรียกใช้งานบริการต่างๆ ที่อยู่ในรูปแบบของไฟล์ DLL ตามที่ Windows ต้องการ
ทำไมถึงมี Service Host หลายอันใน Task Manager
หากคุณเคยดู Services(หรือบริการโดยหลังจากนี้จะใช้คำว่าบริการแทน) ใน Control Panel คุณอาจสังเกตเห็นว่า Windows ต้องการบริการจำนวนมาก หากทุกบริการทำงานภายใต้ Service Host เดียว นั่นหมายความว่าหาก Service Host ล้มเหลวขึ้นมาแล้วล่ะก็ระบบปฎิบัติการ Windows ก็จะล้มเหลวไปด้วย ดังนั้นทาง Microsoft จึงได้ทำการแยก Service Host ออกมาเป็นหลายๆ ส่วนเพื่อให้ Service Host แต่ละอันควบคุมบริการต่างๆ ที่แตกต่างกันไปเช่น
Service Host ที่ให้บริการแตกต่างกันไปนั้นจะใช้เพื่อควบคุมการทำงานแยกกันอย่างชัดเจนตัวอย่างเช่น Service Host สำหรับควบคุม Network, Service Host สำหรับควบคุม UI หรือ Service Host สำหรับควบคุม Remote เป็นต้น
ด้วยความที่ Service Host Process หรือไฟล์ svchost.exe นั้นเป็นตัวเรียกในการทำงานบริการของระบบปฎิบัติการ Windows ทั้งหมด ดังนั้นจึงไม่แปลกที่มันจะใช้งานทรัพยากรของเครื่องคอมพิวเตอร์คุณในทุกๆ ส่วนไม่ว่าจะเป็น CPU, RAM, GPU หรือแม้กระทั่ง Network เองนั้น Service Host Process หรือไฟล์ svchost.exe ก็เรียกใช้ทรัพยากรดังกล่าวด้วยเช่นเดียวกัน
วิธีตรวจสอบ Service Host processes ใน Task Manager
สำหรับวิธีการดังตรวจสอบดูว่าเครื่องคอมพิวเตอร์ของคุณมี Service Host processes อะไรทำงานอยู่บ้างนั้น คุณสามารถที่จะตรวจสอบได้ใน Task Manager ตามขึ้นตอนต่อไปนี้
- กด Ctrl + Shift + Esc เพื่อโหลด Task Manager โดยตรง
- คลิก More details ที่ด้านล่างของหน้าต่าง
- คลิก Name เพื่อจัดเรียงตามชื่อและหยุดไม่ให้งานที่ทำอยู่โดดข้ามไปมา จากนั้นให้เลื่อนและค้นหา Service Host processes ที่ใช้งานอยู่ (คุณอาจต้องเลื่อนไปที่ด้านล่างใต้ Windows processes) จากนั้น คลิกขวาที่บริการที่คุณต้องการตรวจสอบ และเลือกไปที่ Go to details
- ไฟล์ Service Host ที่คุณคลิกจะถูกเน้นในตารางใหม่ที่ Task Manager โหลดขึ้นมาซึ่งทางด้านขวาคุณจะเห็นการใช้งาน CPU และ RAM (หรือทรัพยากรอื่นๆ) ที่กระบวนการนั้นใช้อยู่
svchost.exe ปลอดภัยหรือไม่
Service Host Process หรือไฟล์ svchost.exe โดยปกติแล้วมักจะปลอดภัย ทว่าด้วยความที่มันเป็นไฟล์ระบบดังนั้นจึงทำให้แฮ็กเกอร์และอาชญากรไซเบอร์สามารถสร้างมัลแวร์ svchost เพื่อเลียนแบบ svchost.exes ของตัวระบบปฎิบัติการ Windows ขึ้นมาได้เพื่อที่จะหลีกเลี่ยงไม่ให้ผู้ใช้งานสงสัยว่าเครื่องคอมพิวเตอร์ของตัวเองโดนไวรัสหรือมัลแวร์เข้าให้แล้ว
โปรแกรมสแกนไวรัส บางโปรแกรมอาจจะเข้าไปตั้งค่าสถานะการทำงานของไฟล์ svchost.exe ของระบบปฎิบัติการ Windows ได้เนื่องจากไฟล์นี้สามารถเข้าถึงข้อมูลในส่วนอื่นๆ ของคอมพิวเตอร์คุณได้เกือบทั้งหมด
โดยปกติไฟล์ svchost.exe จะถูกเก็บเอาไว้ในโฟลเดอร์ C:\Windows\system32\ หากคุณพบไฟล์(หรือแม้กระทั่งโปรแกรมสแกนไวรัส) svchost.exe นอกโฟลเดอร์นี้ ให้คิดเอาไว้ก่อนเสมอว่าอาจเป็นไวรัสหรือมัลแวร์ตัวอย่างเช่น หากพบไฟล์ svchost.exe ในโฟลเดอร์ Download นั่นหมายความว่าคุณอาจติดไวรัสชื่อ svchost เข้าให้แล้ว(เป็นสปายแวร์ที่ใช้ตรวจสอบกิจกรรมการทำงานทั้งหมดของคุณกับคอมพิวเตอร์)
อาการของไวรัส Svchost นั้นจะเห็นได้จากการที่ตัวเครื่องใช้ทรัพยากรไม่ว่าจะเป็น CPU หรือ RAM สูงมากผิดปกติ
นอกไปจากนั้นยังมี System Host process ที่ชื่อ csrss.exe (Client Server Runtime Subsystem หรือ ระบบย่อยไคลเอ็นต์เซิร์ฟเวอร์รันไทม์) เองก็ใช้งานทรัพยากรมากจนทำให้ผู้ใช้ Windows บางคนกังวล แต่ถ้ามันไม่ใช่มัลแวร์หรือไวรัสคุณก็ไม่จำเป็นที่จะต้องกังวลไป วิธีการตรวจสอบด้วยตัวเองที่ง่ายที่สุดคือให้ดูตำแหน่งไฟล์นั้นจัดเก็บเอาไว้ตามวิธีการเดียวกับ svchost.exe หากไฟล์อยู่ใน “Windows\System32” ก็ไม่เป็นไรแต่ถ้าอยู่ที่อื่นคุณสามารถที่จะลบมันทิ้งได้ทันที
แม้ว่าไ Service Host process ส่วนใหญ่จะชื่อ svchost.exe แต่ไฟล์ .exe ประเภทอื่นที่เรียกว่า utcsvc.exe ก็เป็น Service Host process ประเภทหนึ่งเช่นกัน ซึ่งมันจะเกี่ยวข้องกับการใช้งาน CPU สูง บางครั้งซอฟต์แวร์ป้องกันไวรัสยังตั้งค่าสถานะไฟล์เหล่านี้เป็น PUP แม้ว่าจะไม่ได้รับการพัฒนาโดย Microsoft แต่ไฟล์ utcsvc ก็ได้รับการติดตั้งไว้ล่วงหน้าใน Windows และจัดอยู่ในประเภท Diagnostic Tracking Tool ที่โดยปกติจะไม่ค่อยได้ทำการเรียกใช้งานมากเท่าไรนัก(นานๆ จะถูกเรียกขึ้นมาใช้งาน)
เนื่องจากไฟล์ utcsvc สามารถเข้าถึงพื้นที่ที่ละเอียดอ่อนในคอมพิวเตอร์ของคุณได้ จึงมีโอกาสที่ไฟล์เหล่านั้นจะถูกใช้เพื่อแพร่กระจายมัลแวร์ได้ และเช่นเดียวกับภัยคุกคามบนโลกออนไลน์ทั้งหมด Windows Defender อาจจะไม่เพียงพอสำหรับการให้ความมั่นใจว่าคุณจะปลอดภัยบนโลกออนไลน์ ดังนั้นหากเป็นไปได้คุณควรที่จะติดตั้งโปรแกรมสแกนไวรัสเพิ่มเติมอย่างน้อยหนึ่งโปรแกรม(เลือกโปรแกรมที่ชอบและใช่สำหรับคุณ)
วิธีปิดการทำงาน svchost.exe
สำหรับปิดการทำงาน Service Host Process หรือไฟล์ svchost.exe นั้นโดยปกติแล้วเราไม่อยากแนะนำให้คุณทำเพราะมันอาจจะก่อให้เกิดความเสียหายต่อตัวระบบปฎิบัติการ Windows ได้ ดังนั้นก่อนที่จะทำตามขั้นตอนนี้ขอให้คุณพึงระลึกไว้เสมอว่าการปิดการทำงาน Service Host Process หรือไฟล์ svchost.exe นั้นมีความเสี่ยง หากคุณพร้อมที่จะลองก็สามารถที่จะทำได้ตามขั้นตอนต่อไปนี้่
- กด Ctrl + Shift + Esc เพื่อเปิด Task Manager
- คลิกที่ Name เพื่อจัดเรียงกระบวนการที่ใช้งานอยู่ตามชื่อ แล้วให้ค้นหา Service Host process ที่คุณต้องการหยุดจากนั้น คลิกขวา และเลือก End task
อย่างที่เราได้เตือนไว้ การหยุด Service Host process ใดๆ นั้นอาจทำให้ระบบเกิดความผิดพลาดขึ้นได้ ดังนั้นก่อนที่จะทำให้คุณบันทึกงานของคุณทุกอย่างก่อนที่คุณจะทำการหยุดการทำงาน svchost.exe เพื่อความปลอดภัย
อย่างไรก็ตาม Windows ไม่อนุญาตให้คุณหยุดการทำงาน svchost.exe ที่กำลังใช้งานโดยโปรแกรมที่เปิดอยู่ดังนั้นหากเป็นไปได้ควรปิดโปรแกรมทุกอย่างก่อนทั้งหมด
วิธีลบไวรัส svchost.exe
อย่างที่ได้บอกไปแล้วว่า Service Host Process หรือไฟล์ svchost.exe นั้นโดนผู้ไม่หวังดีลอกเลียนชื่อไฟล์เพื่อทำเป็นมัลแวร์และไวรัสเรียบร้อยแล้ว ดังนั้นหากคุณตรวจสอบดูตามด้านบนแล้วว่าตัวไฟล์ svchost.exe ที่มีปัญหาไม่ได้อยู่ในโฟลเดอร์ “Windows\System32” ก่อนที่คุณจะทำการลบเองนั้นเราขอแนะนำให้ทำการสแกนไฟล์ดังกล่าวด้วยโปรแกรมสแกนไวรัส(หรือมัลแวร์) ที่คุณใช้งานก่อน
แต่ปัญหาบางครั้งก็คือไวรัสหรือมัลแวร์ที่ใช้ชื่อว่า svchost.exe บางตัวนั้นอาจจะบล๊อคไม่ให้คุณเข้าถึง Task Manager เพื่อทำการตรวจสอบหาไฟล์เจ้าปัญหาดังกล่าวนี้ได้ วิธีการที่ดีที่สุดคือคุณควรที่จะต้องเข้าสู่ Windows Safe Mode แล้วทำการรันโปรแกรมสแกนไวรัสจากใน Safe Mode หลังจากนั้นให้ทำตามขั้นตอนต่อไปนี้เพื่อที่จะสั่งให้ Windows ซ่อมแซมไฟล์ระบบ
- กดที่ปุ่มค้นหา(รูปแว่นขยาย) ที่ Task Bar แล้วพิมพ์ CMD คุณจะเจอกับ Command Prompt ให้คุณทำการคลิกขวาแล้วเลือก Run as administrator
- เมื่อหน้าต่าง Command Prompt ขึ้นมาแล้วให้พิมพ์ sfc /scannow แล้วกด Enter เพื่อให้ระบบสแกนและซ่อมแซมไฟล์ของตัวระบบปฎิบัติการ(แนะนำให้คุณทำขั้นตอนนี้ 3 ครั้ง)
ไม่ได้มีเพียง Service Host Process หรือไฟล์ svchost.exe เท่านั้นที่เป็นเป้าหมายของผู้ไม่ประสงค์ดีในการลอกเลียนแบบไฟล์ไปสร้างไวรัสและมัลแวร์ คุณยังอาจจะเจอการจู่โจมจากผู้ไม่หวังดีจากช่องทางอื่นด้วยเช่นเดียวกัน(ลองศึกษาเพิ่มได้ที่ ทำความรู้จักกับ Shell Infrastructure Host พร้อมวิธีแก้ไขการใช้ทรัพยากรเครื่องสูง)
อย่างไรก็ตามเพื่อความไม่ประมาทคุณควรป้องกันตัวเองด้วยการติดตั้งโปรแกกรมสแกนไวรัส รวมทั้งไม่ควรโหลดไฟล์ต่างๆ ที่เสี่ยงต่อการใช้งานเพื่อแฝงตัวของไวรัสและมัลแวร์จากอินเทอร์เน็ต ที่สำคัญที่สุดก็คืออย่าคลิ๊กลิ้งค์แปลกๆ จากคนที่ไม่รู้จักด้วย