Table of Contents

Svchost.exe là gì? Cách hoạt động của Svchost.exe là gì?
Windows

Svchost.exe là gì? Cách hoạt động của Svchost.exe là gì?

Svchost.exe được gọi là máy chủ dịch vụ. Nếu bạn đã từng xem qua trình quản lý tác vụ (Task Manager), bạn có thể tự hỏi tại sao có quá nhiều máy chủ dịch vụ đang chạy. Bạn không thể tắt hết chúng và chắc chắn bạn đã không start chúng.

Vậy, chúng là gì? Nào hãy cùng GhienCongNghe khám phá Svchost.exe nhé!

Svchost.exe-01

Svchost.exe là gì?

File svchost.exe là 1 tiến trình quan trọng được cung cấp bởi Microsoft trong hệ thống hệ điều hành Windows. Svchost.exe là 1 thành phần quan trọng đối với 1 số Windows service.

Svchost.exe giữ vai trò host service. Windows sử dụng svchost.exe để nhóm các service cần truy cập vào cùng một DLL, để chúng có thể chạy trong một tiến trình, giúp giảm nhu cầu về tài nguyên hệ thống.

Vì Windows sử dụng tiến trình Service Host cho rất nhiều tác vụ, nên ta thường thấy svchost.exe sử dụng RAM trong Task Manager. Bạn cũng sẽ thấy nhiều phiên bản khác nhau của svchost.exe đang chạy trong Task Manager vì Windows nhóm các service tương tự với nhau, chẳng hạn như các service liên quan đến mạng.

Svchost.exe là một thành phần quan trọng trong Windows, do đó bạn không nên xóa hoặc cách ly nó, trừ khi bạn đã xác minh chắc chắn rằng file svchost.exe mà bạn đang xử lý là không cần thiết hoặc độc hại. Chỉ có hai thư mục lưu trữ svchost.exe thật, bạn có thể dựa vào đó để dễ dàng phát hiện ra những file giả mạo.

Service Host Process là gì?

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

Cách đây một thời gian, 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ụ nội bộ của Windows (chạy từ tệp EXE) sang sử dụng tệp DLL để thay thế. Từ góc độ lập trình, điều này làm cho mã có thể tái sử dụng nhiều hơn và được cho là dễ cập nhật hơn. 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 tệp thực thi. Thay vào đó, một trình bao được tải từ tệp thực thi được sử dụng để lưu trữ các dịch vụ DLL này. Và quá trình Service Host (svchost.exe) ra đời.

Tại sao có quá nhiều quy trình máy chủ dịch vụ đang chạy?

Services mình sẽ gọi là dịch vụ, các dịch vụ được tổ chức thành các nhóm logic mà tất cả đều có liên quan và sau đó một phiên bản Máy chủ Dịch vụ (Service Host) duy nhất được tạo để lưu trữ mỗi nhóm. Ví dụ, một tiến trình Service Host chạy ba dịch vụ liên quan đến tường lửa. Một quy trình Máy chủ Dịch vụ 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. Ví dụ trong hình bên dưới, bạn có thể thấy rằng Service Host Process chạy một số dịch vụ mạng liên quan, trong khi một tiến trình khác chạy các dịch vụ liên quan đến các cuộc gọi thủ tục từ xa.

Svchost.exe-02

Phần mềm nào sử dụng svchost.exe?

Tiến trình svchost.exe bắt đầu khi Windows khởi động và sau đó kiểm tra HKLM hive của registry (trong SOFTWARE\Microsoft\Windows NT\CurrentVersion\Svchost) để biết các service sẽ load vào bộ nhớ.

Svchost.exe có thể chạy trong Windows 10, Windows 8, Windows 7, Windows Vista, Windows XP và Windows 2000.

Kể từ Windows 10 Creator Update (phiên bản 1703), đối với các hệ thống có 3,5GB RAM, mọi service đều chạy phiên bản svchost riêng. Nếu ít hơn 3,5GB RAM, các service sẽ được nhóm thành những tiến trình svchost.exe chia sẻ, giống như trong các phiên bản Windows trước.

Một vài ví dụ về các service Windows sử dụng svchost.exe bao gồm:

  • Windows Update
  • Background Tasks Infrastructure Service
  • Plug and Play
  • World Wide Web Publishing Service
  • Bluetooth Support Service
  • Windows Firewall
  • Task Scheduler
  • DHCP Client
  • Windows Audio
  • Superfetch
  • Network Connections
  • Remote Procedure Call (RPC)

Bạn nên làm gì với svchost.exe?

Thành thật mà nói, không nên. Trong thời kỳ của Windows XP (và các phiên bản trước), khi PC có nhiều tài nguyên hạn chế hơn và hệ điều hành không được tinh chỉnh hoàn toàn, việc ngăn Windows chạy các dịch vụ không cần thiết thường được khuyến nghị. Ngày nay, chúng tôi khuyên bạn không nên tắt dịch vụ nữa. PC hiện đại có xu hướng được tải với bộ nhớ và bộ xử lý công suất cao. Thêm vào đó là 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 cho rằng mình không cần thực sự không có nhiều tác động nữa.

Điều đó có nghĩa là, nếu bạn nhận thấy rằng một phiên bản cụ thể của Service Host  hoặc một dịch vụ liên quan đang gây ra sự cố, chẳng hạn như sử dụng CPU hoặc RAM liên tục, bạn có thể kiểm tra các dịch vụ cụ thể có liên quan. Điều đó ít nhất có thể cung cấp cho bạn ý tưởng về nơi bắt đầu khắc phục sự cố. Có một số cách để xem chính xác dịch vụ nào đang được lưu trữ bởi một phiên bản Service Host cụ thể. Bạn có thể kiểm tra mọi thứ trong Task Manager hoặc sử dụng một ứng dụng tuyệt vời của bên thứ ba có tên Process Explorer.

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 được hiển thị trên tab “Processes” của Trình quản lý tác vụ theo tên đầy đủ của chúng. 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ể xem các dịch vụ đó bằng cách mở rộng quy trình. Điều này giúp bạn dễ dàng xác định dịch vụ nào thuộc về từng phiên bản của quy trình Máy chủ dịch vụ.

Svchost.exe-03

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 ứng dụng Bảng điều khiển “Services” hoặc thậm chí tìm kiếm thông tin trực tuyến về dịch vụ.

Svchost.exe-04

Nếu bạn đang sử dụng Windows 7, mọi thứ sẽ khác một chút. Trình quản lý Tác vụ Windows 7 không nhóm các quy trình theo cùng một cách, cũng như không hiển thị các tên quy trình thông thường nó chỉ hiển thị tất cả các trường hợp “svchost.exe” đang chạy. Bạn phải khám phá một chút để xác định các dịch vụ liên quan đến bất kỳ phiên bản cụ thể nào của “svchost.exe”.

Trên tab “Processes” của Task Manager trong Windows 7, nhấp chuột phải vào một quy trình “svchost.exe” cụ thể, rồi chọn tùy chọn “Go to Service”.

Svchost.exe-05

Thao tác này sẽ đưa bạn đến tab “Services”, nơi các dịch vụ đang chạy trong quy trình “svchost.exe” đó đều được chọn.

Svchost.exe-06

Sau đó, bạn có thể thấy tên đầy đủ của từng dịch vụ trong cột “Description”, vì vậy, bạn có thể chọn tắt dịch vụ nếu bạn không muốn nó chạy hoặc khắc phục sự cố.

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ụ nâng cao tuyệt vời để làm việc với các quy trình như 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ó đây là một ứng dụng di động, vì vậy không cần cài đặt. Process Explorer cung cấp tất cả các loại tính năng nâng cao và chúng tôi thực sự khuyên bạn nên đọc hướng dẫn của chúng tôi để hiểu Process Explorer để tìm hiểu thêm.

Tuy nhiên, vì mục đích của chúng tôi ở đây, Process Explorer nhóm các dịch vụ liên quan theo từng trường hợp của “svchost.exe.” Chúng được liệt kê theo tên tệp 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 con trỏ chuột qua bất kỳ quy trình “svchost.exe” nào để xem cửa sổ bật lên với 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.

Svchost.exe-07

Cách tắt service Svchost.exe

Điều mà hầu hết mọi người có thể muốn làm với tiến trình svchost là xóa hoặc vô hiệu hóa một service chạy bên trong svchost.exe, vì nó sử dụng quá nhiều bộ nhớ. Tuy nhiên, ngay cả khi bạn muốn xóa svchost.exe vì nó là một loại virus, hãy làm theo các hướng dẫn sau, vì nó sẽ hữu ích cho việc vô hiệu hóa service trước khi cố gắng xóa nó.

Lưu ý: Đối với Windows 7 và các phiên bản Windows cũ hơn, sử dụng Process Explorer dễ dàng hơn. Nhấp chuột phải vào file svchost.exe và chọn Kill Process.

1. Mở Task Manager.

2. Xác định service bạn muốn vô hiệu hóa.

Để thực hiện việc này trong Windows 10 hoặc 8, hãy mở rộng mục Service Host: <service name>.

3. Bấm chuột phải vào mục Task Manager cho service bạn muốn vô hiệu hóa và chọn Stop.

 Windows sẽ ngay lập tức dừng service đó. Bất kỳ tài nguyên hệ thống nào nó đang sử dụng sẽ được giải phóng cho các service và ứng dụng khác.

Mẹo: Nếu bạn không thấy tùy chọn dừng service, hãy đảm bảo rằng bạn đang chọn service đó chứ không phải dòng “Service Host”.

4. Nếu service không dừng vì chương trình đang chạy, hãy thoát nó. Nếu không thể thoát chương trình, bạn có thể phải gỡ cài đặt phần mềm.

Bạn có thể xác minh rằng nó đã bị tắt hoặc vô hiệu hóa vĩnh viễn, bằng cách định vị cùng một service trong chương trình Services (tìm kiếm services.msc từ menu Start). Để ngăn không cho nó chạy lại, nhấp đúp vào service từ danh sách và thay đổi Startup type thành Disabled.

Svchost.exe có phải là virus không?

Việc này không thường xuyên xảy ra, nhưng cũng chẳng mất gì nếu kiểm tra cả, đặc biệt là khi bạn không biết tại sao svchost.exe lại chiếm hết bộ nhớ trên máy tính.

Bước đầu tiên trong việc xác định xem svchost.exe có phải là virus hay không, là xem mỗi phiên bản svchost.exe đang host service nào. Vì có nhiều phiên bản svchost.exe đang chạy trong Task Manager nên phải tìm hiểu sâu hơn một chút để xem mỗi tiến trình thực sự đang làm gì, trước khi quyết định xóa svchost hoặc vô hiệu hóa service đang chạy bên trong.

Khi đã biết những service nào đang chạy trong svchost.exe, bạn có thể xem liệu chúng có thực sự cần thiết không, hay chỉ là phần mềm độc hại đang giả vờ là svchost.exe.

Nếu sử dụng Windows 10 hoặc Windows 8, bạn có thể “mở” từng file svchost.exe từ Task Manager.

Svchost.exe-08

Nếu tệp được lưu trữ trong thư mục Windows \ System32 của bạn, thì bạn có thể khá chắc chắn rằng mình không đối phó với vi-rút.

Svchost.exe-09

Cách loại bỏ virus Svchost.exe

Bạn không thể xóa file svchost.exe thật khỏi máy tính của mình vì nó là một tiến trình rất quan trọng, nhưng bạn có thể xóa file giả mạo. Nếu bạn có một file svchost.exe nằm đâu đó, không phải trong thư mục %SystemRoot%\System32\ hoặc %SystemRoot%\SysWOW64\, thì việc xóa file là an toàn 100%.

Ví dụ, nếu thư mục Downloads chứa file Service Host hoặc nó nằm trên desktop hay ổ flash, thì rõ ràng Windows không sử dụng file đó cho các mục đích host service quan trọng. Trong trường hợp đó, bạn có thể xóa file này.

Tuy nhiên, virus Svchost.exe có thể không dễ xóa như các file thông thường. Thực hiện theo các bước sau để loại bỏ virus:

1. Bấm chuột phải vào tiến trình svchost.exe trong Task Manager và chọn Open file location.

Ta sẽ không làm bất cứ điều gì với cửa sổ đó, vì vậy hãy cứ để nó mở.

Lưu ý: Hãy nhớ rằng nếu thư mục mở là một trong những thư mục hệ thống được đề cập ở trên, file svchost.exe của bạn hoàn toàn “sạch sẽ” và không thể bị xóa. Tuy nhiên, hãy đọc tên file cẩn thận, dù chỉ là một chữ cái không chính xác, thì chắc chắn đó cũng không phải là file hợp pháp được sử dụng bởi Windows.

2. Nhấp chuột phải vào cùng tiến trình svchost.exe và chọn End task.

Nếu cách trên không hoạt động, hãy mở Process Explorer và nhấp chuột phải vào file svchost.exe, sau đó chọn Kill Process để tắt nó.

3. Nếu có các service được lồng trong file svchost.exe, hãy mở chúng trong Task Manager như được giải thích ở trên và dừng từng service đó.

4. Mở thư mục từ bước 1 và thử xóa file svchost.exe giống như bất kỳ file nào khác, bằng cách nhấp chuột phải vào file đó và chọn Delete.

Nếu có thể, hãy cài đặt LockHunter và yêu cầu xóa file trong lần khởi động lại tiếp theo.

5. Cài đặt Malwarebytes hoặc một số công cụ loại bỏ phần mềm gián điệp khác và thực hiện quét toàn bộ hệ thống để xóa tiến trình svchost.

Khởi động lại máy tính nếu tìm thấy một điều gì đó có vấn đề.

Lưu ý: Nếu virus svchost.exe không cho phép bạn cài đặt chương trình trên máy tính của mình, hãy tải trình quét virus portable vào ổ flash và quét từ đó.

6. Sử dụng một chương trình đầy đủ để quét virus.

Có rất nhiều tùy chọn trong danh sách các chương trình diệt virus cho Windows và Mac mà GhienCongnghe đã gợi ý.

Mẹo: Dù sao đi nữa, việc để một trong các công cụ diệt virus này luôn bật là một việc sáng suốt, ngay cả khi một trình quét virus khác có thể xóa file svchost.exe.

7. Sử dụng chương trình diệt virus có khả năng boot miễn phí để quét máy tính của bạn trước khi Windows khởi động.

Điều này rất hữu ích khi các trình quét khác không thành công, vì virus svchost.exe không thể hoạt động, trừ khi Windows đang chạy và một công cụ diệt virus có thể boot chạy bên ngoài Windows.

Xem thêm: OEM Partition là gì? Cách xóa OEM Partition một cách an toàn

Lời kết

Hy vọng qua bài viết này, GhienCongNghe đã có thể giải thích cho bạn 1 cách dễ hiểu nhất về File Svchost.exe là gì? Đây là 1 file rất quan trong trong hệ thống Windows, trước khi có bất kỳ hành động nào đối với file Svchost.exe, bạn cần tìm hiểu thật kỹ nhé.

Chúc bạn thành công sau khi xem bài viết về Svchost.exe này!

Theo Howtogeek.com