เคยเปิด Windows Task Manager แล้วสงสัยว่าครึ่งหนึ่งของรายการเป็นอะไรไหม? แม้ Windows รุ่นใหม่จะมีชื่อที่เข้าใจง่ายขึ้นสำหรับกระบวนการส่วนใหญ่ แต่การทราบว่าทำหน้าที่อะไรอย่างแน่นอนยากอยู่ดี
กระบวนการหนึ่งที่อาจเห็นคือ COM Surrogate เรียกอีกอย่างว่า dllhost.exe กระบวนการนี้ทำหน้าที่อะไร ทำไมถึงรัน และมันหมายถึงไวรัสไหม? อ่านต่อเพื่อค้นหาคำตอบ
COM Surrogate คืออะไร?
ตาม Microsoft COM Surrogate "เป็นชื่ออันน่าประหลาดสำหรับ [s] กระบวนการเสียชีวิตสำหรับ COM object ที่รันนอกกระบวนการที่ขอมา" คำอธิบายนี้ไม่ชัดเจนเลย มาแยกความหมายและดูตัวอย่างกัน
ก่อนอื่น COM (Component Object Model) object คือมาตรฐานที่ Microsoft ออกแบบสำหรับซอฟต์แวร์ เพื่อให้กระบวนการติดต่อกันได้ง่าย ตัวอย่างเช่น สมมติคุณมีสเปรดชีต Excel 埋め込み ในเอกสาร Word การเห็นการเปลี่ยนแปลงใน Excel อัปเดตสเปรดชีตใน Word อัตโนมัติ ทำได้เพราะ shared objects เหล่านี้
COM objects เหล่านี้ ตามที่ชื่อกระบวนการบ่งชี้ คือไฟล์ DLL จริงๆ อยู่ในโฟลเดอร์ Windows ที่ได้รับ保护 ให้ระบบปฏิบัติการทำงานได้ตามที่ควร
"เสียชีวิต" หมายถึงอะไร?
ต่อมา เราควรตรวจสอบว่า "sacrificial process" หมายถึงอะไร สำหรับนั้น เรามองอีกตัวอย่าง
การใช้งานทั่วไปของ COM Surrogate คือ File Explorer สร้างภาพขนาดเล็ก (Thumbnails) ใน Windows รุ่นเก่า กระบวนการ Explorer พยายามสร้าง Thumbnails ใต้ตัวเอง ซึ่งมักทำให้ครัช เพราะ Thumbnail extractors ไม่ได้น่าเชื่อถือเสมอไป
คุณอาจเคยเห็นพฤติกรรมนี้: เปิดโฟลเดอร์ที่มีรูปภาพหลายร้อยหรือประเภทไฟล์ที่ Windows ไม่คาดคิด จะทำให้ Explorer ค้างในวันก่อน
ดังนั้น เมื่อ File Explorer คิดว่าอาจครัชเร็วๆ นี้ มันจะสร้างกระบวนการ COM Surrogate เพื่อจัดการพฤติกรรมเสี่ยง ในกรณีนี้ เมื่อคุณเปิดโฟลเดอร์ที่มี Thumbnails มากมายที่ต้องสร้าง File Explorer จะส่งงานให้ COM Surrogate ทำ นั่นคือ หากการโหลด Thumbnail ครัช กระบวนการ Explorer ก็ไม่ต้องตายตาม
สามารถฆ่ากระบวนการนี้ได้ไหม?
ไม่เหมือนกระบวนการสำคัญอื่นของ Windows คุณสามารถเปิด Task Manager (Ctrl + Shift + Esc) และฆ่า COM Surrogate ที่เห็นได้ อย่างไรก็ตาม การทำเช่นนี้มักไม่ใช่ความคิดที่ดี โปรแกรมสร้างกระบวนการเหล่านี้เมื่อต้องการทำบางอย่าง การฆ่ามันจะหยุดสิ่งที่มันกำลังทำอยู่
คุณไม่สามารถปิดใช้งาน COM Surrogate ได้ เพราะมันรันเฉพาะเมื่อโปรแกรมอื่นขอ
ดูยังไงว่ากระบวนการไหนเริ่มมัน?
Task Manager พื้นฐานไม่ให้ดูรายละเอียด COM Surrogate เนื่องจากมักเห็นหลายตัวรันพร้อมกัน คุณอาจสงสัยว่าโปรแกรมไหนเริ่มมัน สำหรับนั้น ต้องดาวน์โหลด Process Explorer หนึ่งในตัวเลือก Task Manager ที่ดีที่สุด
Process Explorer ให้รายละเอียดมากเกี่ยวกับสิ่งที่รันบนคอมพิวเตอร์ และบอกได้ว่ากระบวนการไหนเริ่ม COM Surrogate มองหา dllhost.exe ในรายการ -- มี COM Surrogate ในฟิลด์ Description วางเมาส์ไว้ จะเห็นข้อมูลเกี่ยวกับผู้รับผิดชอบ
หากไม่พบ dllhost ใดๆ กด Ctrl + F เปิดแถบค้นหา ใส่ dllhost.exe เพื่อหาทุกอินสแตนซ์ หากไม่เห็นเลย อาจไม่มีโปรแกรมไหนใช้ COM Surrogates อยู่
ในตัวอย่างด้านล่าง พบว่า COM Surrogate นี้จัดการ Thumbnails
แก้ไขการครัชของ COM Surrogate ยังไง?
คุณอาจไม่เคยสังเกต COM Surrogate เว้นแต่จะเห็นข้อผิดพลาดบอกว่ามันหยุดทำงานและส่งผลต่อประสิทธิภาพ Windows 10 ส่วนใหญ่ ไฟล์เฉพาะจะก่อให้เกิดข้อผิดพลาดนี้ มักเกี่ยวกับ Thumbnails หากเห็นข้อผิดพลาด COM Surrogate บ่อย ลองวิธีแก้เหล่านี้:
- อัปเดต/ถอนการติดตั้ง Codec packs และซอฟต์แวร์สื่อ. หากใช้ซอฟต์แวร์อย่าง K-Lite codec pack หรือเครื่องมือสื่ออย่าง DivX หรือ Nero บางอย่างอาจก่อให้เกิดปัญหา พิจารณาถอนการติดตั้ง เพราะไม่จำเป็นต้องมี codec packs แล้ว VLC เล่นทุกอย่างได้ และ Nero มีทางเลือกฟรีเยอะ
- ติดตั้ง Windows Updates. บางคนรายงานว่าติดตั้งอัปเดตล่าสุดแก้ปัญหานี้ได้ ไม่ใช่วิธีแก้เสมอไป แต่เป็นขั้นตอนแรกที่ง่าย อาจมีปัญหาเล็กน้อยกับประเภทไฟล์บางอย่างที่ Microsoft แก้ไขด้วยแพทช์ล่าสุด
- ลบ Thumbnails ที่มีอยู่. หาก Thumbnail ที่เสียหายทำให้ COM Surrogate ครัช สามารถลบได้ด้วย Disk Cleanup Tool จะบังคับให้ Windows สร้าง Thumbnail Cache ใหม่ อาจแก้ปัญหาได้
- ระบุไฟล์ที่มีปัญหา. ใช้ Process Explorer ตามที่กล่าวมา ดูว่า dllhost พยายามเข้าถึงไฟล์อะไร หากชี้ไปไฟล์เฉพาะ นั่นเกือบแน่นอนคือปัญหา ลบไฟล์นั้นดูว่าปัญหาหายไหม
- นำ COM Surrogate ออกจากรายการ Data Execution Prevention. Windows ใช้ Data Execution Prevention (DEP) ป้องกันโค้ดร้ายรันบนระบบ สามารถยกเว้นกระบวนการบางตัวออกจากรายการนี้ และการทำเช่นนี้สำหรับ COM Surrogate อาจหยุดข้อผิดพลาด
- พิมพ์ advanced system ในเมนู Start เลือก View advanced system settings คลิกปุ่ม Settings ใต้แท็บ Performance แล้วเลือกแท็บ Data Execution Prevention
- เลือกตัวเลือกที่สอง Turn on DEP for all programs... คลิกปุ่ม Add
- บราวซ์ไป C:\Windows\System32\dllhost.exe บนระบบ 32-bit หรือ C:\Windows\SysWOW64\dllhost.exe บน 64-bit คลิก OK บันทึกการเปลี่ยนแปลง
- สแกนฮาร์ดดิสก์หาปัญหา. หากปัญหาเกิดโดยไม่มีรูปแบบ ควรรันสแกนบนคอมพิวเตอร์ ที่ Command Prompt ใช้คำสั่ง SFC ซ่อมไฟล์ Windows และ CHKDSK ตรวจสอบข้อผิดพลาดฮาร์ดดิสก์
- ลงทะเบียน DLL ไฟล์ใหม่ใน Command Prompt. ใน Command Prompt รันคำสั่ง regsvr32 vbscript.dll และ regsvr32 jscript.dll จะลงทะเบียน DLL 2 ตัวที่อาจแก้ไขการครัช COM Surrogate
- ตรวจสอบแอนตี้ไวรัส. บางคนรายงานว่า Kaspersky antivirus ขัดแย้งก่อให้เกิดปัญหานี้ ลองปิดการป้องกันแอนตี้ไวรัส ดูว่าเข้าถึงไฟล์/โฟลเดอร์นั้นยังข้อผิดพลาดไหม
- หากไม่ใช้ สามารถปิด Thumbnails ได้เลย
นี่อาจเป็นไวรัสไหม?
กระบวนการ COM Surrogate ปกติเป็นส่วนปกติของ Windows ไม่ใช่ไวรัส อย่างไรก็ตาม ไวรัสบางชนิดเคยใช้กระบวนการ dllhost เพื่อการร้าย การเห็นรายการ COM Surrogate จำนวนมากใน Task Manager ใช้ CPU สูง เป็นสัญญาณว่าอาจติดเชื้อ
เพราะไวรัสประเภทนี้เลียนแบบกระบวนการและไฟล์ระบบสำคัญ เราไม่แนะนำให้ลองลบเอง อาจลบไฟล์สำคัญผิดพลาด แทนที่จะเป็น ให้รันสแกนกับแอนตี้ไวรัสที่ติดตั้งอยู่ แล้วลองอีกตัวเพื่อยืนยันว่าสะอาด
ดูรายการโปรแกรมแอนตี้ไวรัสที่ดีและไม่รบกวนจากเรา หากต้องการแนะนำ อย่าลืมว่าสามารถรันสแกนกับ Windows Defender ได้แม้ไม่ได้ใช้ตลอดเวลา (แต่ควรใช้)
พิมพ์ defender ในเมนู Start เปิด Windows Defender Security Center เลือก Virus & threat protection แล้วคลิก Quick scan เพื่อรันสแกน
ไม่ว่าจะใช้แอนตี้ไวรัสไหน ได้ความคิดเห็นที่สองจาก Malwarebytes ที่มีชื่อเสียงก็เป็นความฉลาด
สรุป COM Surrogate
เราครอบคลุมทุกอย่างที่ควรรู้เกี่ยวกับกระบวนการ COM Surrogate 原来นี้เป็น Helper ที่โปรแกรมอื่นสร้างขึ้นเมื่อต้องการมอบหมายงานบางอย่าง ดังนั้นคุณจะเห็นจำนวน COM Surrogate ต่างๆ ตามเวลา คุณรู้แล้วว่าจะ Troubleshoot การครัชอย่างไร และมองหาอะไรเพื่อตรวจจับไวรัส
สำหรับความรู้ Windows เพิ่มเติม ดูคู่มือผู้เริ่มต้นแก้ไขปัญหา PC ของเรา
เคยสังเกตกระบวนการ COM Surrogate รันบน PC ไหม? เคยมีปัญหาครัชไหม และอะไรแก้ให้หาย? แชร์กับเราในความคิดเห็น!
Image Credit: Jeanette.Dietl/Depositphotos