返回列表 回復 發帖

CPU 負載 100% 元兇之一 (svchost.exe)

作者: LILI 日期: 2013-12-9 21:18 閱讀: 948打印 收藏
CPU 負載 100% 元兇之一 (svchost.exe)
yanni

常常有人詢問以下類似的問題:
1. 開機時很慢,CPU好像被吃得死死的:一直處於100%的狀態,一段時間後才正常
2. 電腦使用一陣子後,電腦突然頓頓的:CPU也是一直處於100%的狀態,一段時間後才正常

如果真的發生上述問題,除了檢查是否中毒或中了後門程式外,還有一個元兇就是svchost.exe,這個程式是Windows負責連接網路的系統程式之一,所以當然不能把他關掉,發現無故佔用的可能原因有可能是Windows進行更新或其他原因所致,如果有懷疑請看以下文章,文章轉載自:網路上一位yanni網友的網誌:http://www.yannicafe.info/wp/2007/02/18/61.html#comment-19776(由於版權問題, 只好貼出連結)

過年回到家後發現,家裡的 PC 和老媽的 Notebook ,莫名其妙的都會被 svchost.exe 佔用掉所有的 CPU 資源(難怪老媽一直跟我抱怨新買的 Notebook 總是跑的很慢 XD)。一看到這個情況,腦中馬上浮現「不會是中毒了吧」的念頭,於是在 CPU 使用率總是停在100%的狀態下,花了半天的時間才把兩台電腦做掃毒、掃木馬以及Windows Update。結果當然,事情不是憨人想的那麼簡單,好幾個小時換來的代價就是,連個子兒都沒掃到,神秘的svchost.exe仍舊霸道地侵佔我的 CPU。無可耐何之下只好求助Google大神,試了好多種解法都禺用,不過總算是皇天不負苦心人,最後還是讓我找到了解決的方法。

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

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

   1. 點「開始」–>「執行」,輸入「services.msc」後按「確定」。
   2. 在服務「Automatic Updates」上點二下。
   3. 點選「登入」頁籤,確定登入身分為「本機系統帳戶」且「允許服務與桌面互動」“沒有”被選取。
   4. 確認服務已在目前的「硬體設定檔」中被啟用,如果沒有,按下「啟用」按鈕。
   5. 點選「一般」頁籤,確定「啟動類型」為「自動」,然後按下「啟動」按鈕以啟動服務。(如果服務狀態不是「已啟用」時才需此步驟)
   6. 對「Background Intelligent Transfer Service (BITS) 」服務重覆 2 ~ 5 的步驟。

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

   1. 點選「開始」–>「執行」。
   2. 輸入「REGSVR32 WUAPI.DLL」後按 Enter。
   3. 當看到 “DllRegisterServer 在 WUAPI.DLL 成功” 的訊息後按下「確定」。
   4. 重覆上述步驟重新註冊下列元件
      REGSVR32 WUAUENG.DLL
      REGSVR32 WUAUENG1.DLL
      REGSVR32 ATL.DLL
      REGSVR32 WUCLTUI.DLL
      REGSVR32 WUPS.DLL
      REGSVR32 WUPS2.DLL
      REGSVR32 WUWEB.DLL

三、最後清除可能已損壞了的 Windows Update 暫存目錄。

   1. 點「開始」–>「執行」,輸入「cmd」後按「確定」。
   2. 在命令提示字元中鍵入以下指令。(若出現錯誤訊息請先重開機後再報執行一次)
      net stop WuAuServ
   3. 點「開始」–>「執行」,輸入「%windir%」後按「確定」。
   4. 找到「SoftwareDistribution」並更名為「SDold」。
   5. 點「開始」–>「執行」,輸入「cmd」後按「確定」,並在在命令提示字元中鍵入以下指令。
      net start WuAuServ

四、大功告成!
返回列表