吃掉所有CPU資源的 svchost.exe
過年回到家後發現,家裡的 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
2. 點「開始」–>「執行」,輸入「%windir%」後按「確定」。
3. 找到「SoftwareDistribution」並更名為「SDold」。
4. 點「開始」–>「執行」,輸入「cmd」後按「確定」,並在在命令提示字元中鍵入以下指令。
net start WuAuServ
四、大功告成!


我也是遇上以上問題, 這可能是我裝了Office 2007 有關,
但我另一部PC 裝了Office 2003 是沒有這樣的問題的.
以照以上的步驟, CPU 100% 的問題解決了, 謝謝 !
不客氣
不過我剛好跟您相反
發生這個問題的三台電腦都是裝 Office 2003
反而是裝 Office 2007 的都沒事 XD
您好 這位大大
是否可以借我轉載您的這篇文章到小弟所讀大學的班版?
我會註明出處及您的網站 謝謝~
當然沒關題,請轉載~
好像還很多人都有遇到這樣的問題~~
thx for this article!!
可是我只有關掉 update
開機時就不會被svchost佔用100% CPU了ㄝ
你好,我也想轉載這篇文章到我的網誌中
我會註明引用網址,謝謝你
謝謝你這篇文章, 我想轉載本篇文章以受惠更多人, 我會註明出處的, 謝謝
能做个脚本自动执行吗?
謝謝你的文章!幫了我很多的忙!謝謝!
跟著你的指示,現在windows update 100% CPU 的問題解決了, 太感謝了 !
我找不到「SoftwareDistribution」這個檔案耶,
怎麼辦?
謝謝 Yanni 大, 這個方法真的有效!
借轉貼
每次都被這問題弄得快瘋掉
希望讓更多人知道
這陣子太忙,一直沒回覆大家,現在一次通通回覆來的~
To 123: 就是因為是windows update有問題,所以你關掉update的服務當然就可以囉,但這樣就得自已注意時常去手動update一下免得有漏泂
To Che Dong: 要做成自动执行的脚本技术当然是没问题,但小弟我连回覆大家的comment都拖了好久,等我弄可能会等到天荒地老吧 XD。还是看看有哪位好心人事愿意帮忙呢?
To norman: SoftwareDistribution 是個目錄,不是檔案喔。這個目錄位在Windows XP的安裝目錄下,它不是個隱藏檔,所以理應是看的到才是,我還沒遇過沒有這個目錄的耶。
To 所有其他的朋友: 不用客氣,敬請轉載。
Microsoft 已推出Hotfix
http://support.microsoft.com/default.aspx?scid=kb;EN-US;Q927891
先照你说的试试
感谢yanni,照你的做法,启动后cpu不再100了,十分感谢。
在看了这么多文章后只有你的成功哦了
感謝 yanni 分享,爾來PC、NB都有遲滯不能工作,檢視Windows 工作管理員處理程序,發現為 SVCHOST.EXE 或 TMPROXY.EXE 佔 CPU 92~99%,困擾不已,只有作業系統重新安裝才能解決,但重新安裝後平常所建的檔案與其他應用程式都要重來,真是工程浩大,今照著您的方式做,已消除了 SVCHOST.EXE 的問題。
謝謝大大的文章,請問我可以轉貼您的文章嗎? 我會寫出文章出處的及您的網站的,謝謝
那個… 第三步驟的更改資料夾名稱無法更改怎麼辦啊
哇勒 大大 可是我之前做過一次 後來又冠了一些程式 現在又多了一個SoftwareDistribution
所以是有一個SDold和SoftwareDistribution
要做第二次你POST的步驟就不行了 怎麼辦 因為他說我已經有SDold的資料夾了 請問我該如何是好
To Enoch : 謝謝您提供的資訊,不過我目前手邊沒有電腦有這問題了,所以沒法測試,看看有沒有哪位朋友可以試試看的。(比方說一笑兄?) ^^
To garish & RAY: 不客氣~
To LinXblob: 謝謝您寫的第二步驟批次檔
To Ben Yang: 當然可以,沒問題!
To noe: 您的資料夾是被其他程序鎖定了嗎?不然應該都可以更改才是,如果是被鎖定的話,可以使用 unlocker 這套軟體來解除鎖定。
To 一笑: 抱歉是我沒說清楚,我之所以會說要「改名」是因為我比較保守一點,不想直接砍掉整個目錄,所以才先用改目錄名稱的方式。其實如果改完run過沒問題的話,就可以把那個 SDold 目錄直接整個砍掉了。不過即然您又再次遇到同樣的問題,您要不要試試看16樓Enoch所提供的Hotfix呢?
天ㄚ~ 真的感動到痛哭流涕~
一直都被CPU滿載的問題困擾…一直在重灌電腦…
原來是MS的原因….
大大的辨法真的超級有效…..感激不盡~
可以請教一下1,2步驟的目的嗎? 我有參考過一份大陸網站的文件,他是直接執行您的第三步驟,也就是停止Windows
Liveupdate,砍掉資料夾,啟動Windows Liveupdate。 我手邊沒有電腦可以測試這個問題,可以請教一下您1,2步驟的目的
嗎? 萬分感激。 :)
順便請教一下,是不是更新微軟在2007-2-20發佈了KB 927891就可以解除這個bug,thx
謝謝唷!!
被這個問題困擾很久了~真的很感謝你^^
To guestX:
先回覆您的第二個問題,你提到的927891便是16樓的Enoch所提供的Hotfix,但因目前我手邊也沒有任何電腦有此問題,所以沒法告訴您到底有沒有效。
至於我寫的第一步驟,其目的只是檢查一下看看Windows Update的相關服務是否正常啟用中。(Windows Update會使用BITS,BITS是主要被設計用來在慢速和不穩定的WAN下進行大型檔案傳輸,其使用 HTTP/HTTPS 協定進行檔案傳輸,因此可穿透防火牆)
而第二步驟的目的是將Windows Update的相關模組重新註冊一遍,以排除可能因註冊機碼失效而造成的錯誤。
尤於是Windwos Update出問題,所以上述二步驟只是先排除一些可能的因素罷了。
謝謝您的回答。 昨天有遇到幾台這樣的問題提報,據他們說hotfix沒什麼用 = = 做法就是直接砍掉那個資料夾,就解決了。謝謝。
想問一下…我在命令提示字元輸入net stop WuAuServ
他一直出現\"這不是內部或外部命令可執行的程式或批次檔
"
我重開機過
可是還是一樣
不曉得這是什麼問題 QQ
还好,我的只是开机那会出现占100%,其他时间不会。
To guestX:
其實如果不想那麼多步驟,直接砍了那個目錄是最快最乾脆的 ^^
To sc:
你的 C:\Windows\System32 目錄下有沒有 net.exe 這個檔案呢?
這是 XP 預設就要有的系統檔案喔,如果沒有的話可能有問題~~
To 呵:
如果你只有開機時會,做 Window Update 時不會,那可能就不是我文中提到的狀況囉~
万分感谢!我也成功了!
謝謝你 我後來成功了
真的太感謝你了,解釋的很清楚
感謝…原本找到ㄧ篇類似的可是不夠完整
感謝感謝感謝
谢谢
非常感谢 ,网络纷繁复杂,幸好有您这样充满爱心的高手支撑。
今天遇到了這狀況,感謝你的文章^_^
svchost.exe 吃掉所有 CPU 資源,停在100%的狀態,這種情況都是 Windwos 自動更新服務 Automatic Updates 執行時才發生的。我有試過你們說的那個方法,就是delete「SoftwareDistribution」裡面的file…可是有些是delete不到的….svchost.exe問題一直存在,讓我煩惱了一整天,不知怎麼辦……………有沒有人可以交我
终于解决了问题了!非常感谢你的精彩解说,谢谢。
42楼,你仔细看下说明,按照说明做,一定会成功的。
我想要請問我無法將 rename SoftwareDistribution, 有何辦法可以 rename 成功呢
我的問題似乎也解決了
真的很感謝妳
我也想將你的文章轉貼到我的網站
謝謝
你真是我的救命恩人
thax a looooooooooooooooooooooooooot!!!!!!!!!!!!!!!!!!
第二步提到的需要重新註冊的DLL文件我是一个都没找到……
谢谢你的方法,解决了我的问题,但是还有个小疑问,第三步里面是不是就是先把网停掉,然后最后在联上,我总感觉好了之后网络不是很问题,总是时不时的短掉,一开始“net stop"的时候就断了网,然后"net start"之后,网没有马上恢复,等了好一会才好的,然后用了20多分钟,自己就断了一次,然后过了一会就又好了,不知道是怎么回事,希望解答,多谢!!!
Yanni大人,真是太感謝您的分享了~~~~卡很久,關掉又不能列印東西,然後上網就出問題,真是!#@$#%^,地球有您真好啊~~~
另外42及45樓主,經不才測試,把Automatic Updates改為手動後就可以把SoftwareDistribution夾改名或殺掉,然後就可以接下去做start 回來的動作了
您好厲害阿!!怎嚜發現的ㄋㄟ??
實在太感謝您所PO的文,讓我的筆電恢復正常!
不然我還真怕壞掉哩!
最近實在有太多人需要這篇文章
不知是否可轉寄給親朋好友知道
你這篇文實在真的是功德無量啊!