Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> Windows Server系統教程 >> Server 2003 >> svchost.exe占用CPU資源過高的解決辦法

svchost.exe占用CPU資源過高的解決辦法

日期:2017/2/10 9:45:57      編輯:Server 2003

症狀現象描述:

機器啟動運行幾分鐘後 svchost.exe就會占系統cpu資源的100%
拔掉網線就好了,重連上網後一會兒:svchost.exe又占cpu資源的99%;


解決方法:

假設你已經使用了免費殺毒軟件排除了病毒和已經使用防間諜軟件排除了惡意軟件的影響:
想辦法清空C:\WINDOWS\SoftwareDistribution 目錄下所有的文件重啟機器即可。(C:\WINDOWS\SoftwareDistribution是Windows update服務的臨時文件存放目錄)

如果機器提示文件正在使用("Automatic Updates"服務正在運行)無法刪除相應目錄:

則想辦法打開控制面板==>管理工具==>服務,找到"Automatic Updates",設置成手動啟動,
重啟後再刪除 C:\WINDOWS\SoftwareDistribution。問題就解決了。
然後再打開控制面板==>管理工具==>服務,找到"Automatic Updates",恢復成自動啟動重啟。
注意:重啟後最好在上網條件比較好的地方讓系統順利完成一次系統自動更新。

原因分析:

先說說什麼是svchost.exe:簡單的說沒有這個RPC服務,機器幾乎就上不了網了。很多應用服務都是依賴於這個RPC接口的,如果發現這個進程占了太多的CPU資源,直接把系統的RPC服務禁用了會是一場災難:因為連恢復這個界面的系統服務設置界面都無法使用了。恢復的方法需要使用注冊表編輯器,找到 HKEY_LOCAL_MACHINE >> SYSTEM >> CurrentControlSet >> Services >> RpcSs, 右側找到Start屬性,把它的值改為2再重啟即可

造成svchost占系統CPU 100%的原因並非svchost服務本身:以上的情況是由於Windows Update服務下載/安裝失敗而導致更新服務反復重試造成的。而Windows的自動更新也是依賴於svchost服務的一個後台應用,從而表現為svchost.exe負載極高。 常發生這類問題的機器一般是上網條件(尤其是去國外網站)不穩定的機器,比如家裡的父母的機器,往往在安裝機器幾個月以後不定期發生,每個月的第二個星期是高發期:因為最近幾年MS很有規律的在每個月的第二個星期發布補丁程序)。上面的解決方法並不能保證不重發作,但是為了svchost文件而每隔幾個月重裝一次操作系統還是太浪費時間了。

教訓:spoolsv.exe和svchost.exe的問題都是應用遇到失敗/例外情況後自動重試造成的,本想為用戶節省時間的設計,但是重試的頻度過高反而導致了和病毒一樣的效果。

Copyright © Windows教程網 All Rights Reserved