Computer >> Hướng Dẫn Máy Tính >  >> Hệ Thống >> Windows 7

Sửa lỗi CPU cao và rò rỉ bộ nhớ do Svchost.exe (wuauserv)

Dịch vụ wuauserv là dịch vụ cập nhật Windows tiêu chuẩn được dùng để quét máy tính, tìm kiếm, tải xuống và cài đặt bản vá bảo mật và cập nhật mới từ Windows Update hoặc máy chủ WSUS cục bộ. Trong một số trường hợp, dịch vụ wuauserv có thể không hoạt động đúng, gây sử dụng CPU và RAM quá cao. Do thực tế wuauserv chạy bên trong tiến trình container svchost.exe, nó trông như svchost đang dùng quá nhiều RAM và tài nguyên CPU trên thiết bị Windows của bạn. Trong bài viết này, chúng tôi sẽ chỉ cho bạn cách giải quyết vấn đề sử dụng bộ nhớ và CPU cao bởi tiến trình wuauserv trong Windows 7 và Windows 10.

Nội dung:

  • Dịch vụ Wuauserv trong Windows 7 dùng lên đến 50% CPU và bộ nhớ
  • Wuauserv: CPU và bộ nhớ cao trên Windows 10

Dịch vụ Wuauserv trong Windows 7 dùng lên đến 50% CPU và bộ nhớ

Một số người dùng bắt đầu phàn nàn về vấn đề hiệu suất kém trên máy tính chạy Windows 7. Vấn đề biểu hiện như sau: hàng ngày vào cùng một thời gian (mỗi người dùng tại thời gian riêng) máy tính bắt đầu chậm lại. Task Manager cho thấy tiến trình svchost.exe dùng lên đến 1.2-2 GB bộ nhớ và lên đến 100% CPU của một nhân. Kết quả, không thể dùng máy tính trong 30-60 phút: nó trở nên chậm kinh khủng và liên tục treo.

Vấn đề xuất hiện trên client Windows 7 SP1 x86 và x64 khi nhận cập nhật từ máy chủ SCCM cục bộ (dùng để quản lý bản cập nhật Microsoft trên client). Chạy Task Manager trên client và sắp xếp tiến trình chạy theo sử dụng bộ nhớ hoặc CPU trong tab Processes. Bạn thấy tiến trình svchost.exe hiện tại dùng 11% CPU và 1.2 GB bộ nhớ. Thực tế, svchost.exe là tiến trình container, trong đó các chương trình khác và luồng dịch vụ hệ thống đang chạy. Dùng Task Manager, bạn không thể hiểu luồng (dịch vụ) nào gây tải hệ thống cao.

Sửa lỗi CPU cao và rò rỉ bộ nhớ do Svchost.exe (wuauserv)

Thông tin chi tiết hơn về tiến trình và luồng của nó có thể lấy được dùng tiện ích Process Explorer.

Chạy procexp.exe và tìm tiến trình vấn đề svchost.exe dùng quá nhiều bộ nhớ và/hoặc CPU.

Sửa lỗi CPU cao và rò rỉ bộ nhớ do Svchost.exe (wuauserv)

Mở thuộc tính của nó và đi đến tab Threads (Luồng). Ở đây bạn rõ ràng thấy luồng wuauserv (Windows Update) tiêu thụ phần lớn CPU và bộ nhớ trong tiến trình svchost.exe (dịch vụ wuauserv quét hệ thống và máy chủ cập nhật tìm cập nhật). Do một số vấn đề mã, wuauserv bắt đầu rò rỉ (leak) và tiêu thụ tất cả bộ nhớ có sẵn lên đến 1.5-2 GB (kích thước tối đa có sẵn cho tiến trình) và bắt đầu tích cực dùng file paging. Hệ thống chậm lại.

Thú vị là vấn đề thường xuất hiện trên client có 2 GB RAM. Nếu PC có 4 GB bộ nhớ hoặc cao hơn, vấn đề không rõ rệt đến người dùng, vì rò rỉ bộ nhớ trong wuauserv không vượt quá 2 GB.

Nếu bạn dừng wuauserv dùng console services.msc, tải bộ nhớ và CPU cao trong Windows của bạn sẽ giảm mạnh. Và svchost.exe bắt đầu dùng chỉ 180-200 MB bộ nhớ.

Quan trọng. Điều này không có nghĩa là bạn phải dừng wuauserv và giữ nó vô hiệu hóa, vì hệ thống sẽ ngừng nhận bản vá bảo mật và chịu rủi ro tấn công hacker.

Sửa lỗi CPU cao và rò rỉ bộ nhớ do Svchost.exe (wuauserv)

Trước hết, chúng tôi đã thử reset cài đặt Windows Update agent theo hướng dẫn trong bài "Cách reset cấu hình Windows Update Agent". Vấn đề được giải quyết và không xuất hiện vài ngày, nhưng sau đó nó xảy ra lại. Có vẻ như kích thước cache cục bộ và cơ sở dữ liệu cập nhật đạt đến giới hạn nào đó, và wuauserv lại bắt đầu dùng bộ nhớ cao (rò rỉ) trở lại.

Chúng tôi đã thử nhiều phương pháp khác, nhưng chỉ việc cài các bản vá sau cho Windows Update agent thực sự giúp:

  • https://support.microsoft.com/en-us/kb/3050265 (Cập nhật Windows Update agent từ tháng 6, 2015);
  • https://support.microsoft.com/en-us/kb/3065987 (Cập nhật Windows Update agent từ tháng 7, 2015);
  • https://support.microsoft.com/en-us/kb/3102810 (Bản vá cho Windows 7/2008 R2, cho phép giải quyết vấn đề CPU và bộ nhớ cao khi cài cập nhật qua WSUS, từ tháng 11, 2015).

Mẹo. Chúng tôi cài bản vá không trên tất cả máy Win 7, mà chỉ trên những máy mà người dùng báo cáo vấn đề tương tự.

Sau khi các bản cập nhật được cài, sử dụng bộ nhớ bởi tiến trình wuauserv giảm xuống 200 MB, và quá trình quét cập nhật mất ít thời gian hơn nhiều.

Wuauserv: CPU và bộ nhớ cao trên Windows 10

Vấn đề khi dịch vụ Windows Update tải bộ xử lý cao và dùng quá nhiều bộ nhớ, cũng xảy ra trong các bản build Windows 10 khác nhau.
Mở Task Manager và tìm tiến trình svchost.exe tiêu thụ quá nhiều bộ nhớ hoặc tài nguyên CPU. Chuột phải vào nó và chọn "Go to Services" (Đi đến dịch vụ).

Sửa lỗi CPU cao và rò rỉ bộ nhớ do Svchost.exe (wuauserv)

Xác minh dịch vụ wuauserv đang chạy như một phần của tiến trình svchost.exe này (dịch vụ Windows Update). Đảm bảo wuauserv (dịch vụ Windows Update) chạy như một phần của tiến trình svchost.exe.

Sửa lỗi CPU cao và rò rỉ bộ nhớ do Svchost.exe (wuauserv)

Vì Task Manager không cho phép xác định dịch vụ hệ thống nào chạy bên trong tiến trình svchost gây tải cao, bạn cần dùng Process Explorer (như mô tả trên). Đảm bảo rằng tải CPU và/hoặc bộ nhớ cao do dịch vụ wuauserv gây ra (trong ví dụ của chúng tôi đây là thư viện C:\WINDOWS\system32\wuaueng.dll).

Sửa lỗi CPU cao và rò rỉ bộ nhớ do Svchost.exe (wuauserv)

Khác với trường hợp trên với rò rỉ bộ nhớ trong dịch vụ cập nhật trong Windows 7, không có bản vá phổ quát nào sửa vấn đề cho Windows 10. Dưới đây liệt kê các bước cơ bản bạn nên thực hiện để giảm sử dụng bộ nhớ và CPU bởi dịch vụ Windows Update.

Đợi Windows Updates cài đặt

Nếu dịch vụ Windows Update hiện đang quét máy tính hoặc cài đặt cập nhật, thì tải cao của máy tính không nên làm bạn ngạc nhiên. Hãy thử đợi (1-2 giờ tùy thuộc vào hiệu suất máy tính) và đợi cho đến khi wuauserv kết thúc tải xuống và cài đặt cập nhật.

Chạy Windows Update Troubleshooter (Trình khắc phục sự cố Windows Update)

Hãy thử chẩn đoán Windows Update Service 10 với Window Update Troubleshooter tích hợp. Vào Settings -> Update and Security -> Troubleshoot. Chọn mục Windows Update (Giải quyết vấn đề ngăn bạn cập nhật Windows) -> Run the troubleshooter (Chạy trình khắc phục sự cố).

Sửa lỗi CPU cao và rò rỉ bộ nhớ do Svchost.exe (wuauserv)

Tiện ích sẽ kiểm tra trạng thái dịch vụ và cố gắng sửa các vấn đề tìm thấy.

Sửa lỗi CPU cao và rò rỉ bộ nhớ do Svchost.exe (wuauserv)

Xóa thư mục SoftwareDistribution và catroot2

Hãy thử reset thư mục SoftwareDistribution và catroot2.

  • Thư mục C:\Windows\SoftwareDistribution lưu trữ file tạm dịch vụ Windows Update và file cập nhật đã tải;
  • Thư mục %windir%\System32\catroot2 chứa chữ ký của gói cập nhật.

Hãy thử dọn dẹp chúng với script sau (lưu mã vào file văn bản với phần mở rộng *.bat và chạy với quyền admin):

attrib -h -r -s %windir%\system32\catroot2
attrib -h -r -s %windir%\system32\catroot2\*.*
net stop wuauserv
net stop CryptSvc
net stop BITS
ren %windir%\system32\catroot2 catroot2.old
ren %windir%\SoftwareDistribution SoftwareDistribution.old
ren "%ALLUSERSPROFILE%\application data\Microsoft\Network\downloader" downloader.old
net Start BITS
net start CryptSvc
net start wuauserv

Kiểm tra và sửa chữa tệp hệ thống Windows và Component Store

Kiểm tra và sửa tệp hệ thống hình ảnh Windows của bạn với các lệnh sau:

sfc /scannow
và
DISM /Online /Cleanup-Image /RestoreHealth

Sửa lỗi CPU cao và rò rỉ bộ nhớ do Svchost.exe (wuauserv)

Kiểm tra vi-rút trên máy tính

Kiểm tra Windows vi-rút ở chế độ offline dùng đĩa cứu hộ (Kaspersky Rescue Disk hoặc Avira Rescue System).

Cập nhật Windows 10

  1. Cập nhật phiên bản Windows 10 bằng cách cài bản build hiện tại;
  2. Tải thủ công và cài từ Microsoft Update Catalog (https://www.catalog.update.microsoft.com/Home.aspx) bản cập nhật tích lũy mới nhất cho phiên bản Windows của bạn (Microsoft sửa lỗi và các lỗi Windows khác nhau hàng tháng và thêm bản vá vào gói cập nhật tích lũy).

Tắt Windows Update Delivery Optimization

Vào Settings -> Updates and Security -> Windows Update -> Advanced Options -> Delivery Optimization. Vô hiệu hóa tùy chọn "Allow downloads from other PCs" (Cho phép tải từ PC khác) và reboot thiết bị.

Sửa lỗi CPU cao và rò rỉ bộ nhớ do Svchost.exe (wuauserv)

Gỡ cài đặt bản cập nhật Windows mới nhất

Nếu vấn đề CPU cao và sử dụng bộ nhớ bởi dịch vụ wuauserv xảy ra ngay sau khi cài bản cập nhật Windows mới, thử gỡ cài đặt các bản cập nhật này lần lượt (Control Panel -> Programs and Features -> View Installed Updates). Sắp xếp cập nhật theo ngày cài, chuột phải vào bản cập nhật, chọn Uninstall (Gỡ cài đặt).

Sửa lỗi CPU cao và rò rỉ bộ nhớ do Svchost.exe (wuauserv)

Vô hiệu hóa dịch vụ Windows Update

Tôi không bao giờ khuyên bạn vô hiệu hóa dịch vụ Windows Update, vì bạn sẽ ngừng nhận bản vá bảo mật và khiến máy tính dễ bị hack hoặc nhiễm mã độc. Vô hiệu hóa dịch vụ cập nhật chỉ có thể dùng như bước tạm thời, khi các cách khác khôi phục hoạt động bình thường của hệ thống không giúp.

Mở console quản lý dịch vụ (services.msc), tìm dịch vụ Windows Update, dừng nó và đổi loại khởi động thành Disabled (Vô hiệu hóa). Lưu thay đổi và khởi động lại máy tính.

Sửa lỗi CPU cao và rò rỉ bộ nhớ do Svchost.exe (wuauserv)

Vào thứ Ba thứ hai của tháng sau, chắc chắn tải thủ công và cài bản cập nhật tích lũy mới cho build Windows 10 của bạn. Bật dịch vụ wuauserv. Có lẽ vấn đề của bạn sẽ được sửa trong bản cập nhật mới.