svchost.exe占CPU 100%的解決方法

--------------------------------------------------------------------------------
現象:

機器啟動運行幾分鐘后 svchost.exe就會占系統cpu資源的100%

拔掉網線就好了,重連上網后一會兒:svchost.exe又占cpu資源的99%;

解決:

假設你已經使用了免費殺毒軟件排除了病毒和已經使用防間諜軟件排除了惡意軟件的影響:

想辦法清空C:\WINDOWS\SoftwareDistribution 目錄下所有的文件重啟機器即可。

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

則想辦法打開控制面板==>管理工具==>服務,找到"Automatic Updates",設置成手動啟動,

重啟后再刪除 C:\WINDOWS\SoftwareDistribution。問題就解決了。

然后再打開控制面板==>管理工具==>服務,找到"Automatic Updates",恢復成自動啟動重啟。

注意:重啟后最好在上網條件比較好的地方讓系統順利完成一次系統自動更新。

原因分析:

先說說什么是svchost.exe:

簡單的說沒有這個服務機器幾乎就上不了網了。很多應用服務都是以來于這個接口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的問題都是應用遇到失敗/例外情況后自動重試造成的,

本想為用戶節省時間的設計,但是重試的頻度過高反而導致了和病毒一樣的效果。