Tối ưu hóa Windows: Cách nhóm các tiến trình svchost để giải phóng CPU và RAM

No comments

26.05.2026|

No comments

Tiempo de lectura Lectura: 7 min, 34 s
Número de palabras Palabras: 1400
Número de visitas Visitas: 55
Icono de traducción

Dưới đây là ví dụ so sánh trước và sau khi nhóm các tiến trình trên một hệ thống Windows 11 có 64 GB RAM. Số lượng tiến trình khi hệ thống ở chế độ chờ đã giảm mạnh từ 224 xuống còn 126, mặc dù con số này dao động lên đến 123. Như vậy, số lượng tiến trình đã giảm gần 100.

Trước đây, Windows thường gộp nhiều dịch vụ hệ thống vào cùng một tiến trình svchost.exe. Tuy nhiên, kể từ Windows 10 (phiên bản 1703), Microsoft đã thay đổi cách thức này: nếu máy tính của bạn có hơn 3,5 GB RAM, Windows sẽ tách mỗi dịch vụ ra thành một tiến trình độc lập. Đây là quyết định hoàn toàn dựa trên dung lượng bộ nhớ được phát hiện khi khởi động.

Vậy tại sao lại tách các quy trình ra? Chủ yếu là vì khi tách biệt chúng, nếu một dịch vụ gặp sự cố thì cả nhóm sẽ không bị sập. Đây cũng là vấn đề về khả năng theo dõi. Sẽ dễ dàng hơn khi xem trong Trình quản lý tác vụ để biết chính xác dịch vụ nào đang tiêu tốn CPU (mà không cần phải tìm kiếm trong một nhóm). Đây cũng là vấn đề về bảo mật, vì việc tách biệt giữa các quy trình giúp ngăn chặn các lỗi dây chuyền.

Tuy nhiên , chúng ta có thể “lừa” Windows bằng cách đặt một ngưỡng cao một cách giả tạo. Khi cho rằng mình không có đủ RAM để “phung phí”, Windows sẽ buộc phải gom các dịch vụ vào ít container hơn, từ đó giảm đáng kể tổng số tiến trình.

Việc gộp các tiến trình mang lại nhiều lợi ích, chẳng hạn như giảm tải cho bộ xử lý. Mỗi tiến trình độc lập đều yêu cầu CPU phải quản lý các luồng, mức độ ưu tiên và các lần truy cập bộ nhớ riêng của nó. Khi gộp các tiến trình lại với nhau, khối lượng công việc quản lý của bộ xử lý sẽ được giảm bớt.

Việc theo dõi Trình quản lý tác vụ sẽ dễ dàng hơn rất nhiều khi không còn hàng trăm dòng lệnh trùng lặp, đồng thời chúng ta cũng tiết kiệm được bộ nhớ dư thừa, bởi mỗi tiến trình đang chạy đều tiêu tốn một lượng nhỏ RAM chỉ vì sự tồn tại của nó (do cấu trúc hỗ trợ riêng của tiến trình đó). Việc gộp các tiến trình lại với nhau giúp giảm bớt vài MB dung lượng tiêu thụ ảo.

Tác động tiêu cực duy nhất có thể xảy ra là điều đã được đề cập ở trên. Nếu một dịch vụ gặp sự cố trong một hệ thống được nhóm lại, nó có thể kéo theo các dịch vụ khác cùng chia sẻ container đó, dẫn đến việc khởi động lại nhiều chức năng cùng lúc. Nếu các dịch vụ được tách biệt, chỉ có dịch vụ cụ thể đó gặp sự cố mà không ảnh hưởng đến các dịch vụ còn lại. Các quy trình riêng biệt giúp ngăn chặn việc một lỗ hổng bảo mật trong một dịch vụ ảnh hưởng đến các thành phần khác của hệ thống. Nếu bạn phát hiện bất kỳ lỗi bất ngờ nào, bạn luôn có thể hủy nhóm các dịch vụ đó.

Đây không phải là một "mẹo vặt" hay một thủ thuật thần kỳ mới. Đây là thông tin được nêu rõ trong tài liệu chính thức của Microsoft về hiện tượng này trên cổng thông tin kỹ thuật Microsoft Learn, dành cho các nhà phát triển và quản trị viên hệ thống.

Nếu bạn muốn thử, đây là bảng tham khảo một số giá trị tương ứng dựa trên dung lượng RAM của bạn. Bảng này áp dụng cho cả Windows 10 và Windows 11. Để thực hiện, bạn chỉ cần mở CMD hoặc PowerShell với quyền quản trị viên, chạy lệnh và khởi động lại máy tính.

Giá trị đăng ký SvcHostSplitThresholdInKB thiết lập một "ngưỡng" bộ nhớ RAM. Nếu máy tính của bạn có dung lượng RAM lớn hơn giá trị được đặt trong lệnh này, Windows sẽ chia các tiến trình ra. Nếu dung lượng RAM ít hơn, hệ thống sẽ gộp chúng lại. Do đó, trong bảng lệnh, các giá trị luôn được hiển thị cao hơn dung lượng RAM hiện tại của bạn; bằng cách này, chúng ta sẽ "đánh lừa" Windows để hệ thống gộp các dịch vụ lại với nhau một cách đồng loạt.

(Nếu dung lượng RAM của bạn không có trong bảng, hãy tính gấp đôi dung lượng RAM hiện tại của bạn (tính bằng GB) và áp dụng công thức: Dung lượng (GB) × 1024 × 1024).

Dung lượng RAM hiện tại của bạnLệnh để thực hiện (Tập hợp các quy trình của bạn)
64 GBreg add "HKLM\SYSTEM\CurrentControlSet\Control" /v SvcHostSplitThresholdInKB /t REG_DWORD /d 134217728 /f

(Áp dụng ngưỡng 128GB)
32 GBreg add "HKLM\SYSTEM\CurrentControlSet\Control" /v SvcHostSplitThresholdInKB /t REG_DWORD /d 67108864 /f

(Áp dụng ngưỡng 64GB)
16 GBreg add "HKLM\SYSTEM\CurrentControlSet\Control" /v SvcHostSplitThresholdInKB /t REG_DWORD /d 33554432 /f

(Áp dụng ngưỡng 32GB)
8 GBreg add "HKLM\SYSTEM\CurrentControlSet\Control" /v SvcHostSplitThresholdInKB /t REG_DWORD /d 16777216 /f

(Áp dụng ngưỡng 16GB)
4 GBreg add "HKLM\SYSTEM\CurrentControlSet\Control" /v SvcHostSplitThresholdInKB /t REG_DWORD /d 8388608 /f

(Áp dụng ngưỡng 8GB)

Để khôi phục lại bất kỳ thay đổi nào trong số này và đưa thiết bị về trạng thái ban đầu, bạn chỉ cần sử dụng lệnh này và khởi động lại.

reg delete "HKLM\SYSTEM\CurrentControlSet\Control" /v SvcHostSplitThresholdInKB /f

Viết một bình luận

Leave a comment

Este blog se aloja en LucusHost

LucusHost, el mejor hosting