癥狀現(xiàn)象描述:
機(jī)器啟動(dòng)運(yùn)行幾分鐘后 svchost.exe就會(huì)占系統(tǒng)cpu資源的100%
拔掉網(wǎng)線就好了,重連上網(wǎng)后一會(huì)兒:svchost.exe又占cpu資源的99%;
解決方法:
假設(shè)你已經(jīng)使用了免費(fèi)殺毒軟件排除了病毒和已經(jīng)使用防間諜軟件排除了惡意軟件的影響:
想辦法清空C:\WINDOWS\SoftwareDistribution 目錄下所有的文件重啟機(jī)器即可。(C:\WINDOWS\SoftwareDistribution是Windows update服務(wù)的臨時(shí)文件存放目錄)
如果機(jī)器提示文件正在使用("Automatic Updates"服務(wù)正在運(yùn)行)無(wú)法刪除相應(yīng)目錄:
則想辦法打開(kāi)控制面板==>管理工具==>服務(wù),找到"Automatic Updates",設(shè)置成手動(dòng)啟動(dòng),
重啟后再刪除 C:\WINDOWS\SoftwareDistribution。問(wèn)題就解決了。
然后再打開(kāi)控制面板==>管理工具==>服務(wù),找到"Automatic Updates",恢復(fù)成自動(dòng)啟動(dòng)重啟。
注意:重啟后最好在上網(wǎng)條件比較好的地方讓系統(tǒng)順利完成一次系統(tǒng)自動(dòng)更新。
原因分析:
先說(shuō)說(shuō)什么是svchost.exe:簡(jiǎn)單的說(shuō)沒(méi)有這個(gè)RPC服務(wù),機(jī)器幾乎就上不了網(wǎng)了。很多應(yīng)用服務(wù)都是依賴(lài)于這個(gè)RPC接口的,如果發(fā)現(xiàn)這個(gè)進(jìn)程占了太多的CPU資源,直接把系統(tǒng)的RPC服務(wù)禁用了會(huì)是一場(chǎng)災(zāi)難:因?yàn)檫B恢復(fù)這個(gè)界面的系統(tǒng)服務(wù)設(shè)置界面都無(wú)法使用了?;謴?fù)的方法需要使用注冊(cè)表編輯器,找到 HKEY_LOCAL_MACHINE >> SYSTEM >> CurrentControlSet >> Services >> RpcSs, 右側(cè)找到Start屬性,把它的值改為2再重啟即可
造成svchost占系統(tǒng)CPU 100%的原因并非svchost服務(wù)本身:以上的情況是由于Windows Update服務(wù)下載/安裝失敗而導(dǎo)致更新服務(wù)反復(fù)重試造成的。而Windows的自動(dòng)更新也是依賴(lài)于svchost服務(wù)的一個(gè)后臺(tái)應(yīng)用,從而表現(xiàn)為svchost.exe負(fù)載極高。 常發(fā)生這類(lèi)問(wèn)題的機(jī)器一般是上網(wǎng)條件(尤其是去國(guó)外網(wǎng)站)不穩(wěn)定的機(jī)器,比如家里的父母的機(jī)器,往往在安裝機(jī)器幾個(gè)月以后不定期發(fā)生,每個(gè)月的第二個(gè)星期是高發(fā)期:因?yàn)樽罱鼛啄闙S很有規(guī)律的在每個(gè)月的第二個(gè)星期發(fā)布補(bǔ)丁程序)。上面的解決方法并不能保證不重發(fā)作,但是為了svchost文件而每隔幾個(gè)月重裝一次操作系統(tǒng)還是太浪費(fèi)時(shí)間了。
教訓(xùn):spoolsv.exe和svchost.exe的問(wèn)題都是應(yīng)用遇到失敗/例外情況后自動(dòng)重試造成的,本想為用戶(hù)節(jié)省時(shí)間的設(shè)計(jì),但是重試的頻度過(guò)高反而導(dǎo)致了和病毒一樣的效果。