Service Host (Svchost.exe) là gì? Tại sao có quá nhiều tiến trình liên quan đến nó

Nếu bạn đã từng kích hoạt Task Manager, bạn có thể tự hỏi tại sao có quá nhiều tiến trình Service Host (Svchost.exe) đang chạy. Bạn không thể tắt chúng, và bạn chắc chắn đã không mở các tiến trình này lên. Vậy, chúng là gì?

Service Host (Svchost.exe) là gì?

Service Host phục vụ như là một trình biên dịch các services (dịch vụ) từ các tập tin DLL (thư viện liên kết động). Các dịch vụ được tổ chức thành các nhóm có liên quan và mỗi nhóm được chạy bên trong một phiên bản khác nhau của Service Host Process.

Nhưng điều đó không thực sự giúp ích nhiều cho chúng ta. Một số thời gian trước đây, Microsoft bắt đầu thay đổi nhiều chức năng của Windows từ việc dựa vào các dịch vụ Windows nội bộ (chạy từ các tệp EXE) để sử dụng các tệp DLL thay thế.

Từ góc độ lập trình, điều này làm cho mã dễ sử dụng hơn và được cho là dễ dàng hơn để cập nhật. Vấn đề là bạn không thể khởi chạy tệp DLL trực tiếp từ Windows giống như cách bạn có thể chạy các file .exe. Thay vào đó, một trình biên dịch từ 1 file thực thi (.exe) được sử dụng để lưu trữ các dịch vụ DLL này. Và do đó Service Host (svchost.exe) được sinh ra.

Tại sao có quá nhiều Service Host đang chạy?

Nếu bạn đã từng xem qua phần Services  trong Control Panel, có thể bạn đã nhận thấy rằng Windows yêu cầu nhiều dịch vụ khác nhau. Nếu mọi dịch vụ đơn lẻ chạy theo một Service Host, một lỗi trong một dịch vụ có khả năng có thể làm hỏng tất cả Windows. Thay vào đó, chúng được tách ra.

Các dịch vụ được tổ chức thành các nhóm lôgic và tất cả đều có liên quan, sau đó một Service Host được tạo ra để lưu trữ mỗi nhóm.

Ví dụ, một Service Host xử lý ba dịch vụ liên quan đến tường lửa. Một Service Host khác có thể chạy tất cả các dịch vụ liên quan đến giao diện người dùng, v.v. Trong hình dưới đây  bạn có thể thấy rằng một Service Host xử lý một số dịch vụ Network, trong khi một dịch vụ khác chạy các dịch vụ liên quan đến Remote Procedure Call

, Service Host (Svchost.exe) là gì? Tại sao có quá nhiều tiến trình liên quan đến nó, TechNow

Với những thông tin này tôi có thể làm gì?

Thành thật mà nói, không nhiều lắm. Trong những ngày của Windows XP (và các phiên bản trước), khi máy tính có nhiều tài nguyên hạn chế và hệ điều hành không được điều chỉnh tốt, việc ngăn Windows chạy các dịch vụ không cần thiết thường được khuyến nghị.

Nhưng ngày này, chúng tôi không khuyên bạn nên tắt dịch vụ nữa. Máy tính hiện đại có xu hướng được tải với bộ nhớ và bộ vi xử lý cao cấp. Thực tế là cách các dịch vụ Windows được xử lý trong các phiên bản hiện đại (và những dịch vụ nào chạy) đã được sắp xếp hợp lý, và việc loại bỏ các dịch vụ mà bạn nghĩ bạn không cần thực sự không có nhiều tác dụng nữa.

Điều đó nói rằng, nếu bạn nhận thấy rằng một trường hợp cụ thể của Service Host hoặc một dịch vụ liên quan đang gây ra sự cố, như việc sử dụng CPU hoặc RAM quá mức liên tục, bạn có thể kiểm tra các dịch vụ cụ thể có liên quan.

Kiểm tra các dịch vụ liên quan trong Task Manager

Nếu bạn đang sử dụng Windows 8 hoặc 10, các quy trình sẽ được hiển thị trên tab “Processes” của Task Manager theo tên đầy đủ. Nếu một quy trình đóng vai trò là máy chủ lưu trữ cho nhiều dịch vụ, bạn có thể thấy các dịch vụ đó bằng cách mở rộng quy trình. Điều này làm cho nó rất dễ dàng để xác định các dịch vụ thuộc Service Host nào.

, Service Host (Svchost.exe) là gì? Tại sao có quá nhiều tiến trình liên quan đến nó, TechNow

Bạn có thể nhấp chuột phải vào bất kỳ dịch vụ riêng lẻ nào để dừng dịch vụ, xem dịch vụ trong “Services” của Control Panel hoặc thậm chí tìm kiếm trực tuyến thông tin về dịch vụ.

, Service Host (Svchost.exe) là gì? Tại sao có quá nhiều tiến trình liên quan đến nó, TechNow

Kiểm tra các dịch vụ liên quan bằng Process Explorer

Microsoft cũng cung cấp một công cụ tiên tiến để làm việc với các quá trình như là một phần của dòng sản phẩm Sysinternals. Chỉ cần tải xuống Process Explorer và chạy nó và nó là một ứng dụng portable, vì vậy bạn có thể chạy luôn mà không cần phải cài đặt. Process Explorer cung cấp tất cả các loại tính năng nâng cao, bạn nên đọc hướng dẫn để hiểu rõ hơn về  Process Explorer.

Mặc dù Process Explorer nhóm các dịch vụ liên quan theo từng “svchost.exe” khác nhau. Chúng được liệt kê theo tên file của chúng, nhưng tên đầy đủ của chúng cũng được hiển thị trong cột “Description”. Bạn cũng có thể di chuột qua bất kỳ quy trình “svchost.exe” nào để xem cửa sổ bật lên có tất cả các dịch vụ liên quan đến quy trình đó, ngay cả những dịch vụ hiện không chạy.

, Service Host (Svchost.exe) là gì? Tại sao có quá nhiều tiến trình liên quan đến nó, TechNow

Quá trình này có thể là một loại virus không?

Bản thân quá trình này là một thành phần chính thức của Windows. Mặc dù có khả năng vi rút đã thay thế Service Host thực bằng một file thực thi của riêng nó nhưng rất khó xảy ra. Nếu bạn muốn chắc chắn, bạn có thể kiểm tra vị trí tệp của quá trình. Trong Task Manager, nhấp chuột phải vào bất kỳ Service Host nào và chọn tùy chọn “Open File Location”.

, Service Host (Svchost.exe) là gì? Tại sao có quá nhiều tiến trình liên quan đến nó, TechNow

Nếu tệp được lưu trữ trong thư mục Windows \ System32 trên máy tính, thì bạn có thể khá chắc chắn rằng máy tính của bạn không bị ảnh hưởng bởi  vi rút.

, Service Host (Svchost.exe) là gì? Tại sao có quá nhiều tiến trình liên quan đến nó, TechNow

Nếu bạn vẫn muốn một chút yên tâm hơn, bạn luôn có thể quét qua máy tính của bạn bằng cách sử dụng các phần mềm diệt virut cài trên máy. Cẩm tắc vô áy náy mà :D.