首頁 > 資訊 > 吃掉所有CPU資源的 svchost.exe

吃掉所有CPU資源的 svchost.exe

2007年2月18日 yanni 發表評論 閱讀評論

過年回到家後發現,家裡的 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

四、大功告成!

Categories: 資訊 Tags:
  1. Gary
    2007年2月19日09:38 | #1

    我也是遇上以上問題, 這可能是我裝了Office 2007 有關,
    但我另一部PC 裝了Office 2003 是沒有這樣的問題的.

    以照以上的步驟, CPU 100% 的問題解決了, 謝謝 !

  2. 2007年2月19日11:03 | #2

    不客氣 :)
    不過我剛好跟您相反
    發生這個問題的三台電腦都是裝 Office 2003
    反而是裝 Office 2007 的都沒事 XD

  3. Tsunami
    2007年3月4日17:15 | #3

    您好 這位大大
    是否可以借我轉載您的這篇文章到小弟所讀大學的班版?
    我會註明出處及您的網站 謝謝~

  4. 2007年3月4日22:16 | #4

    當然沒關題,請轉載~
    好像還很多人都有遇到這樣的問題~~

  5. lori0912
    2007年3月16日02:14 | #5

    thx for this article!!

  6. 123
    2007年3月16日10:29 | #6

    可是我只有關掉 update
    開機時就不會被svchost佔用100% CPU了ㄝ

  7. Foster
    2007年3月27日11:13 | #7

    你好,我也想轉載這篇文章到我的網誌中
    我會註明引用網址,謝謝你

  8. 2007年3月29日11:12 | #8

    謝謝你這篇文章, 我想轉載本篇文章以受惠更多人, 我會註明出處的, 謝謝

  9. 2007年4月5日18:19 | #9

    能做个脚本自动执行吗?

  10. 張乖東
    2007年4月6日14:15 | #10

    謝謝你的文章!幫了我很多的忙!謝謝!

  11. JustinCK
    2007年4月13日18:21 | #11

    跟著你的指示,現在windows update 100% CPU 的問題解決了, 太感謝了 !

  12. norman
    2007年4月13日22:31 | #12

    我找不到「SoftwareDistribution」這個檔案耶,
    怎麼辦?

  13. Tim
    2007年4月14日18:21 | #13

    謝謝 Yanni 大, 這個方法真的有效! :)

  14. Andrew
    2007年4月14日20:37 | #14

    借轉貼
    每次都被這問題弄得快瘋掉
    希望讓更多人知道

  15. 2007年4月15日02:29 | #15

    這陣子太忙,一直沒回覆大家,現在一次通通回覆來的~

    To 123: 就是因為是windows update有問題,所以你關掉update的服務當然就可以囉,但這樣就得自已注意時常去手動update一下免得有漏泂

    To Che Dong: 要做成自动执行的脚本技术当然是没问题,但小弟我连回覆大家的comment都拖了好久,等我弄可能会等到天荒地老吧 XD。还是看看有哪位好心人事愿意帮忙呢? :D

    To norman: SoftwareDistribution 是個目錄,不是檔案喔。這個目錄位在Windows XP的安裝目錄下,它不是個隱藏檔,所以理應是看的到才是,我還沒遇過沒有這個目錄的耶。

    To 所有其他的朋友: 不用客氣,敬請轉載。 :)

  16. Enoch
    2007年4月15日08:08 | #16
  17. garish
    2007年4月15日19:54 | #17

    先照你说的试试

  18. garish
    2007年4月15日20:20 | #18

    感谢yanni,照你的做法,启动后cpu不再100了,十分感谢。
    在看了这么多文章后只有你的成功哦了

  19. RAY
    2007年4月17日14:05 | #19

    感謝 yanni 分享,爾來PC、NB都有遲滯不能工作,檢視Windows 工作管理員處理程序,發現為 SVCHOST.EXE 或 TMPROXY.EXE 佔 CPU 92~99%,困擾不已,只有作業系統重新安裝才能解決,但重新安裝後平常所建的檔案與其他應用程式都要重來,真是工程浩大,今照著您的方式做,已消除了 SVCHOST.EXE 的問題。

  20. Ben Yang
    2007年4月19日10:15 | #20

    謝謝大大的文章,請問我可以轉貼您的文章嗎? 我會寫出文章出處的及您的網站的,謝謝

  21. noe
    2007年4月23日19:24 | #21

    那個… 第三步驟的更改資料夾名稱無法更改怎麼辦啊

  22. 一笑
    2007年4月25日08:32 | #22

    哇勒 大大 可是我之前做過一次 後來又冠了一些程式 現在又多了一個SoftwareDistribution
    所以是有一個SDold和SoftwareDistribution

    要做第二次你POST的步驟就不行了 怎麼辦 因為他說我已經有SDold的資料夾了 請問我該如何是好

  23. 2007年4月25日09:18 | #23

    To Enoch : 謝謝您提供的資訊,不過我目前手邊沒有電腦有這問題了,所以沒法測試,看看有沒有哪位朋友可以試試看的。(比方說一笑兄?) ^^

    To garish & RAY: 不客氣~

    To LinXblob: 謝謝您寫的第二步驟批次檔 :)

    To Ben Yang: 當然可以,沒問題!

    To noe: 您的資料夾是被其他程序鎖定了嗎?不然應該都可以更改才是,如果是被鎖定的話,可以使用 unlocker 這套軟體來解除鎖定。

    To 一笑: 抱歉是我沒說清楚,我之所以會說要「改名」是因為我比較保守一點,不想直接砍掉整個目錄,所以才先用改目錄名稱的方式。其實如果改完run過沒問題的話,就可以把那個 SDold 目錄直接整個砍掉了。不過即然您又再次遇到同樣的問題,您要不要試試看16樓Enoch所提供的Hotfix呢? :)

  24. Yanny
    2007年4月26日09:26 | #24

    天ㄚ~ 真的感動到痛哭流涕~
    一直都被CPU滿載的問題困擾…一直在重灌電腦…
    原來是MS的原因….
    大大的辨法真的超級有效…..感激不盡~

  25. guestX
    2007年4月26日16:45 | #25

    可以請教一下1,2步驟的目的嗎? 我有參考過一份大陸網站的文件,他是直接執行您的第三步驟,也就是停止Windows
    Liveupdate,砍掉資料夾,啟動Windows Liveupdate。 我手邊沒有電腦可以測試這個問題,可以請教一下您1,2步驟的目的
    嗎? 萬分感激。 :)

  26. guestX
    2007年4月26日17:50 | #26

    順便請教一下,是不是更新微軟在2007-2-20發佈了KB 927891就可以解除這個bug,thx

  27. edfrick
    2007年4月27日08:11 | #27

    謝謝唷!!
    被這個問題困擾很久了~真的很感謝你^^

  28. 2007年4月27日09:39 | #28

    To guestX:
    先回覆您的第二個問題,你提到的927891便是16樓的Enoch所提供的Hotfix,但因目前我手邊也沒有任何電腦有此問題,所以沒法告訴您到底有沒有效。

    至於我寫的第一步驟,其目的只是檢查一下看看Windows Update的相關服務是否正常啟用中。(Windows Update會使用BITS,BITS是主要被設計用來在慢速和不穩定的WAN下進行大型檔案傳輸,其使用 HTTP/HTTPS 協定進行檔案傳輸,因此可穿透防火牆)

    而第二步驟的目的是將Windows Update的相關模組重新註冊一遍,以排除可能因註冊機碼失效而造成的錯誤。

    尤於是Windwos Update出問題,所以上述二步驟只是先排除一些可能的因素罷了。

  29. guestX
    2007年4月27日15:06 | #29

    謝謝您的回答。 昨天有遇到幾台這樣的問題提報,據他們說hotfix沒什麼用 = = 做法就是直接砍掉那個資料夾,就解決了。謝謝。 :)

  30. sc
    2007年4月28日02:46 | #30

    想問一下…我在命令提示字元輸入net stop WuAuServ
    他一直出現\"這不是內部或外部命令可執行的程式或批次檔
    "

    我重開機過
    可是還是一樣
    不曉得這是什麼問題 QQ

  31. 2007年4月28日22:07 | #31

    还好,我的只是开机那会出现占100%,其他时间不会。

  32. 2007年4月29日08:45 | #32

    To guestX:
    其實如果不想那麼多步驟,直接砍了那個目錄是最快最乾脆的 ^^

    To sc:
    你的 C:\Windows\System32 目錄下有沒有 net.exe 這個檔案呢?
    這是 XP 預設就要有的系統檔案喔,如果沒有的話可能有問題~~

    To 呵:
    如果你只有開機時會,做 Window Update 時不會,那可能就不是我文中提到的狀況囉~

  33. cqq
    2007年4月29日20:46 | #33

    万分感谢!我也成功了!

  34. sc
    2007年4月30日18:22 | #34

    謝謝你 我後來成功了 :)

  35. max
    2007年5月1日03:31 | #35

    真的太感謝你了,解釋的很清楚

  36. 洪人長
    2007年5月2日01:51 | #36

    感謝…原本找到ㄧ篇類似的可是不夠完整
    感謝感謝感謝

  37. 2007年5月5日17:17 | #37

    谢谢

  38. stillwater
    2007年5月7日15:02 | #38

    非常感谢 ,网络纷繁复杂,幸好有您这样充满爱心的高手支撑。

  39. David
    2007年5月9日22:03 | #39

    今天遇到了這狀況,感謝你的文章^_^

  40. lim swee giok
    2007年5月10日01:09 | #40

    svchost.exe 吃掉所有 CPU 資源,停在100%的狀態,這種情況都是 Windwos 自動更新服務 Automatic Updates 執行時才發生的。我有試過你們說的那個方法,就是delete「SoftwareDistribution」裡面的file…可是有些是delete不到的….svchost.exe問題一直存在,讓我煩惱了一整天,不知怎麼辦……………有沒有人可以交我

  41. Loyal
    2007年5月10日11:19 | #41

    终于解决了问题了!非常感谢你的精彩解说,谢谢。

  42. Loyal
    2007年5月10日11:20 | #42

    42楼,你仔细看下说明,按照说明做,一定会成功的。

  43. Jess
    2007年5月10日17:24 | #43

    我想要請問我無法將 rename SoftwareDistribution, 有何辦法可以 rename 成功呢

  44. Jess
    2007年5月10日18:01 | #44

    我的問題似乎也解決了
    真的很感謝妳
    我也想將你的文章轉貼到我的網站
    謝謝
    你真是我的救命恩人

  45. y
    2007年5月10日19:06 | #45

    thax a looooooooooooooooooooooooooot!!!!!!!!!!!!!!!!!!

  46. Freya
    2007年5月10日20:49 | #46

    第二步提到的需要重新註冊的DLL文件我是一个都没找到……

  47. Alex
    2007年5月11日05:48 | #47

    谢谢你的方法,解决了我的问题,但是还有个小疑问,第三步里面是不是就是先把网停掉,然后最后在联上,我总感觉好了之后网络不是很问题,总是时不时的短掉,一开始“net stop"的时候就断了网,然后"net start"之后,网没有马上恢复,等了好一会才好的,然后用了20多分钟,自己就断了一次,然后过了一会就又好了,不知道是怎么回事,希望解答,多谢!!!

  48. 凱凱
    2007年5月11日11:37 | #48

    Yanni大人,真是太感謝您的分享了~~~~卡很久,關掉又不能列印東西,然後上網就出問題,真是!#@$#%^,地球有您真好啊~~~

    另外42及45樓主,經不才測試,把Automatic Updates改為手動後就可以把SoftwareDistribution夾改名或殺掉,然後就可以接下去做start 回來的動作了

  49. Mikkeko
    2007年5月13日01:44 | #49

    您好厲害阿!!怎嚜發現的ㄋㄟ??

  50. 路人甲
    2007年5月13日01:50 | #50

    實在太感謝您所PO的文,讓我的筆電恢復正常!
    不然我還真怕壞掉哩!
    最近實在有太多人需要這篇文章
    不知是否可轉寄給親朋好友知道
    你這篇文實在真的是功德無量啊!

評論分頁
1 2 3 ... 6 61
  1. 2007年4月18日22:01 | #1
  2. 2007年4月30日12:01 | #2
  3. 2010年6月2日20:51 | #3