2020年9月16日 星期三

徹底解決svchost.exe與Windows Update服務耗損電腦資源的問題

svchost.exe 吃掉所有 CPU 資源的原因很多,不過很多時候的狀況都是在執行 Windwos Update 時發生的。因此解決方法主要就是把 Windows 的自動更新重設一次,步驟如下:

一、首先檢查系統服務的狀態。

1. 點「開始」–>「執行」,輸入「services.msc」後按「確定」。

2. 在服務「Windows Updates」上點二下。

3. 點選「登入」頁籤,確定登入身分為「本機系統帳戶」且「允許服務與桌面互動」“沒有”被選取。

4. 確認服務已在目前的「硬體設定檔」中被啟用,如果沒有,按下「啟用」按鈕。

5. 點選「一般」頁籤,確定「啟動類型」為「自動」,然後按下「啟動」按鈕以啟動服務。

6. 對「Background Intelligent Transfer Service (BITS) 」服務重覆 2 ~ 5 的步驟。

二、接著重新註冊 Windows Update 的元件。

1. 點選「開始」–>「執行」。

2. 輸入
REGSVR32 WUAPI.DLL
REGSVR32 WUAUENG.DLL
REGSVR32 WUAUENG1.DLL
REGSVR32 ATL.DLL
REGSVR32 WUCLTUI.DLL
REGSVR32 WUPS.DLL
REGSVR32 WUPS2.DLL
REGSVR32 WUWEB.DLL

上面動作是重新註冊 Windows Update 會用到的 DLL 元件,成功的話會跳出一堆註冊成功的小視窗,全部都按「確定」關掉就好了。

步驟三:清除舊有 Windows Update 暫存目錄

這個步驟最關鍵,因為會慢應該是系統在比對更新狀況,比對的方法一定是和以前更新過的所有暫存記錄逐項來做,這些檔案不見了的話可能就只會比對登錄表(只要以前有正常更新,這樣應該就夠了),檢查到當掉的情況也可以馬上改善。所以先暫時停掉 Windows Update 的服務(以下命令在剛剛還沒關掉的 DOS 視窗執行):

net stop WuAuServ

然後切換目錄到 Windows 目錄,直接把這個暫存目錄 (SoftwareDistribution) 改名字(以下範例是改成 SDBackup,如果有勇氣,整個殺掉也可以,還可以省不少空間,改名字是為了備份,出了包可以還原):

cd %windir%

rename SoftwareDistribution SDBackup

改完暫存目錄別忘了重新啟動 Windows Update 的服務:

net start WuAuServ

沒有留言:

張貼留言