Bạn có bao giờ mở Windows Task Manager và thắc mắc một nửa các mục ở đó là gì không? Mặc dù các phiên bản Windows mới hơn có tên thân thiện hơn cho hầu hết tiến trình, nhưng tìm hiểu chính xác chúng làm gì thì khó khăn.
Một tiến trình bạn có thể đã thấy là COM Surrogate, còn gọi là dllhost.exe. Tiến trình này là gì, tại sao nó chạy, và nó có nghĩa là bạn bị virus không? Đọc tiếp để tìm hiểu.
COM Surrogate là gì?
Theo Microsoft, COM Surrogate "là cái tên sang trọng cho [m]ột tiến trình hy sinh cho một đối tượng COM chạy bên ngoài tiến trình yêu cầu nó." Định nghĩa đó hoàn toàn không rõ ràng, nên hãy phân tích nó và xem vài ví dụ.
Thứ nhất, đối tượng COM (viết tắt của Component Object Model) về cơ bản là tiêu chuẩn do Microsoft thiết kế cho phần mềm được tạo ra để các tiến trình có thể dễ dàng nói chuyện với nhau. Ví dụ, giả sử bạn có bảng tính Excel nhúng trong tài liệu Word. Việc nhìn thấy thay đổi bạn làm trong Excel tự động cập nhật bảng tính Word là nhờ các đối tượng chia sẻ này.
Như tên tiến trình cho thấy, các đối tượng COM này thực sự là các file DLL. Chúng nằm trong các thư mục Windows được bảo vệ và cho phép hệ điều hành (OS) hoạt động như được thiết kế.
Cái "hy sinh" là gì?
Tiếp theo, chúng ta nên xem xét ý nghĩa của "tiến trình hy sinh". Với điều đó, chúng ta chuyển sang ví dụ khác.
Một trường hợp sử dụng phổ biến cho COM Surrogate là File Explorer xây dựng hình thu nhỏ (thumbnail). Trong các phiên bản Windows cũ, tiến trình Explorer sẽ cố gắng tạo thumbnail dưới chính nó. Điều này thường dẫn đến treo crash vì các trình trích xuất thumbnail không phải lúc nào cũng tin cậy.
Bạn có thể đã thấy hành vi này: mở thư mục với hàng trăm hình ảnh hoặc loại tệp tin mà Windows không mong đợi đôi khi khiến Explorer crash trong ngày xưa.
Vì vậy, bất cứ khi nào File Explorer nghĩ rằng crash có thể sắp xảy ra, nó tạo một tiến trình COM Surrogate để xử lý hành vi rủi ro đó. Trong trường hợp này, khi bạn mở thư mục có nhiều thumbnail cần tạo, File Explorer chuyển việc đó cho COM Surrogate. Như vậy, nếu tải thumbnail bị crash, tiến trình Explorer không bị kéo theo.
Tôi có thể kết thúc tiến trình này không?
Khác với một số tiến trình Windows quan trọng khác, bạn có thể mở Task Manager (Ctrl + Shift + Esc) và kết thúc bất kỳ tiến trình COM Surrogate nào bạn thấy. Tuy nhiên, làm như vậy thường không phải ý kiến tốt. Chương trình tạo các tiến trình này bất cứ khi nào chúng cần để thực hiện một hành động, nên kết thúc chúng sẽ dừng mọi thứ chúng đang làm.
Bạn không thể vô hiệu hóa COM Surrogate, vì nó chỉ chạy khi chương trình khác yêu cầu.
Làm thế nào để xem tiến trình nào đã khởi động nó?
Task Manager, cơ bản như nó là, không cho phép xem thông tin chi tiết về tiến trình COM Surrogate. Vì bạn thường thấy nhiều bản sao của nó chạy, bạn có thể thắc mắc chương trình nào khởi động chúng. Với điều đó, bạn sẽ cần tải Process Explorer, một trong những thay thế Task Manager tốt nhất.
Process Explorer cung cấp hàng-load chi tiết về những gì đang chạy trên máy tính của bạn, và nó có thể nói cho bạn biết tiến trình nào đã khởi động COM Surrogate. Tìm trong danh sách tiến trình dllhost.exe — chúng có COM Surrogate trong trường Description (Mô tả). Di chuột qua nó, bạn sẽ thấy một số thông tin về thứ chịu trách nhiệm cho nó.
Nếu bạn không tìm thấy tiến trình dllhost nào, nhấn Ctrl + F để mở thanh tìm kiếm. Nhập dllhost.exe để dễ dàng tìm tất cả các instance của nó. Nếu bạn không thấy cái nào, có thể không có chương trình nào đang dùng COM Surrogate lúc này.
Trong ví dụ dưới đây, chúng ta đã tìm thấy COM Surrogate này đang xử lý thumbnail.
Làm thế nào để khắc phục crash COM Surrogate?
Bạn có lẽ chưa bao giờ nhận ra COM Surrogate trừ khi bạn thấy lỗi cho biết nó ngừng hoạt động và ảnh hưởng đến hiệu suất Windows 10. Hầu hết thời gian, một file cụ thể sẽ gây ra lỗi này, thường liên quan đến thumbnail. Nếu bạn thấy lỗi COM Surrogate thường xuyên, đây là một vài giải pháp bạn có thể thử:
- Cập nhật/gỡ cài đặt các codec pack và phần mềm media. Nếu bạn dùng phần mềm như K-Lite codec pack, hoặc công cụ media như DivX hay Nero, có thể có gì đó với chúng gây ra vấn đề. Cân nhắc gỡ cài đặt chúng, vì bạn thực sự không cần các codec pack nữa khi VLC phát hết mọi thứ, và Nero có nhiều thay thế miễn phí.
- Cài đặt Windows Updates. Một số người báo cáo cài đặt bản cập nhật mới nhất giải quyết vấn đề này. Không phải lúc nào cũng là giải pháp, nhưng là bước đầu dễ dàng. Có lẽ có lỗi nhỏ với loại tệp tin cụ thể mà Microsoft đã sửa với bản vá mới nhất.
- Xóa thumbnail hiện có. Nếu thumbnail hỏng gây crash COM Surrogate, bạn có thể xóa nó bằng công cụ Dọn dẹp ổ đĩa (Disk Cleanup). Buộc Windows tái xây cache thumbnail, có thể giải quyết vấn đề.
- Xác định file gây vấn đề. Dùng Process Explorer, như đã thảo luận ở trên, để xem file nào dllhost đang cố truy cập. Nếu nó chỉ đến một file cụ thể, đó gần như chắc chắn là vấn đề của bạn. Xóa file đó và xem vấn đề có giảm không.
- Loại bỏ COM Surrogate khỏi danh sách Data Execution Prevention. Windows dùng cái gọi là Data Execution Prevention (DEP) để ngăn mã độc chạy trên hệ thống. Bạn có thể loại trừ một số tiến trình khỏi danh sách này, và làm vậy cho COM Surrogate có thể dừng lỗi.
- Gõ advanced system vào Menu Bắt đầu và chọn Xem cài đặt hệ thống nâng cao (View advanced system settings). Nhấp nút Cài đặt (Settings) dưới tab Hiệu suất (Performance), sau đó chọn tab Data Execution Prevention.
- Chọn tùy chọn thứ hai, Bật DEP cho tất cả chương trình... và nhấp nút Thêm (Add).
- Duyệt đến C:\Windows\System32\dllhost.exe trên hệ thống 32-bit, hoặc C:\Windows\SysWOW64\dllhost.exe trên Windows 64-bit. Nhấp OK để lưu thay đổi.
- Quét ổ cứng tìm lỗi. Nếu vấn đề này xảy ra không theo quy luật, bạn nên chạy vài lần quét trên máy tính. Tại Command prompt, dùng lệnh SFC để sửa file Windows và lệnh CHKDSK để kiểm tra lỗi ổ cứng.
- Đăng ký lại một vài file DLL trong Command Prompt. Trong Command Prompt, chạy lệnh regsvr32 vbscript.dll và regsvr32 jscript.dll sẽ đăng ký lại hai DLL có thể khắc phục crash COM Surrogate.
- Kiểm tra antivirus. Một số người báo cáo xung đột Kaspersky antivirus có thể gây ra vấn đề này. Thử tắt bảo vệ antivirus và xem truy cập file/thư mục đó có còn lỗi không.
- Nếu bạn không dùng chúng, bạn có thể vô hiệu hóa thumbnail hoàn toàn.
Có thể đây là dấu hiệu của virus?
Tiến trình COM Surrogate bình thường là một phần bình thường của Windows và không phải mã độc. Tuy nhiên, một số malware đã được biết dùng tiến trình dllhost cho mục đích xấu. Thấy số lượng lớn mục COM Surrogate trong Task Manager sử dụng nhiều CPU là dấu hiệu bạn có thể bị nhiễm.
Vì loại malware này mô phỏng các tiến trình và file hệ thống quan trọng, chúng tôi không khuyến khích cố gắng xóa nó tự tay. Bạn có thể xóa nhầm file quan trọng. Thay vào đó, chạy quét với antivirus đã cài đặt và thử cái thứ hai để chắc chắn bạn sạch.
Tham khảo danh sách chương trình antivirus không nag tốt nhất của chúng tôi nếu bạn cần khuyến nghị. Đừng quên bạn có thể chạy quét với Windows Defender ngay cả khi bạn không dùng nó thường xuyên (dù bạn nên).
Gõ defender vào Menu Bắt đầu và mở Windows Defender Security Center. Chọn Bảo vệ virus & mối đe dọa (Virus & threat protection), sau đó nhấp nút Quét nhanh (Quick scan) để chạy quét.
Không quan trọng antivirus nào bạn dùng, nhận ý kiến thứ hai từ Malwarebytes uy tín cũng thông minh.
Đấy là tất cả về COM Surrogate
Chúng tôi đã bao gồm mọi thứ bạn nên biết về tiến trình COM Surrogate. Như hóa ra, tiến trình này là một trình trợ giúp mà chương trình khác có thể tạo khi muốn outsource một số tác vụ. Vì vậy, bạn sẽ thấy số lượng COM Surrogate khác nhau chạy tại các thời điểm khác nhau. Bạn biết phải làm gì để khắc phục crash, và tìm gì để phát hiện virus.
Để có thêm kiến thức Windows, xem hướng dẫn khắc phục sự cố PC cho người mới của chúng tôi.
Bạn có bao giờ nhận ra tiến trình COM Surrogate chạy trên máy tính của mình? Nó có gặp vấn đề crash không, và gì đã khắc phục nó cho bạn? Chia sẻ với chúng tôi trong bình luận!
Image Credit: Jeanette.Dietl/Depositphotos