首頁 > 資訊 > 吃掉所有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. angle
    2008年5月19日18:12 | #1

    按你的要求做啦"svchost.exe还是存在"
    跟没改一样"

  2. 2008年5月19日18:18 | #2

    to angle:
    svchost.exe是系統的重要程序,它是一定會存在的喔。
    此篇文章是解決「因Windows Update所造成的svchost.exe佔用大量CPU資源」的問題。並不是要刪除svchost.exe。

  3. 2008年5月26日12:12 | #3

    輸入net stop WuAuServ後,出現
    "尚未啟動 自動更新 服務。詳細資料,請輸入 NET HELPMSG 3521。"
    是怎麼回事呢?

  4. 彳昌
    2008年6月1日14:56 | #4

    1. 點「開始」–>「執行」,輸入「services.msc」後按「確定」。
    2. 在服務「Automatic Updates」上點二下。

    services.msc起这个里面找不到"`

    Automatic Updates这个

    3. 找到「SoftwareDistribution」並更名為「SDold」。

    改不了名~~~~?~?

  5. 彳昌
    2008年6月1日14:57 | #5

    问了,,会不会有人回答啊~?~?

  6. 我是阿贵
    2008年6月5日09:13 | #6

    谢谢。

  7. ke
    2008年6月8日18:52 | #7

    thank you

  8. 2008年6月10日08:48 | #8

    我的CPU好像更多被占用了 快救命啊""`

  9. 龙龙
    2008年6月11日17:11 | #9

    3. 找到「SoftwareDistribution」並更名為「SDold」。
    我一执行 电脑就跳出“ 无法重命名SoftwareDistribution:访问被拒绝。 请确定磁盘未满或未被写保护 而且文件未被使用。”这怎么办!!!!

  10. dezi
    2008年6月13日22:42 | #10

    thank you very much!

  11. kayuko
    2008年6月13日23:01 | #11

    我按照你說的去做了 之后髮現進程裏麵有6個SVCHOST.EXE 而且全都是大寫的 請問我要怎么辦啊?

  12. Cindy
    2008年6月14日13:47 | #12

    謝謝您的分享,問題順利解決囉^^

  13. McGRADY
    2008年6月14日19:56 | #13

    TKS VERY MUCH, I SUCCEEDED

  14. 阿力
    2008年6月16日10:46 | #14

    好感谢好感谢 超级感谢您的分享..
    问题解决了..嘿嘿..

  15. 阿力
    2008年6月16日10:50 | #15

    不过按照您说的做了之后,结果提示是说“已经打开自动更新服务”
    而不是关闭 请问是这样吗?

  16. 小李同学
    2008年6月16日14:05 | #16

    第二步REGSVR32 WUPS2.DLL有问题 !
    按照指示操作以后 提示说 找不到指定模块 失败
    为什么会这样??
    还有个问题 我的cpu不是完全被占 只是一部分
    可是速度明显降下来了
    这个方法可以用吗?

  17. Yvonne Yin
    2008年6月17日21:34 | #17

    请问我在运行REGSVR32 WUAUENG.DLL以下命令时, 显示的是-模块”wuaueng.dll”已加载,但对DllRegisterServer的调用失败,错误代码为0×80070005-如何解决?请不吝赐教,万分感谢!

  18. Yvonne Yin
    2008年6月17日21:37 | #18

    BTW,I’m using Vista… thanks.

  19. 方向
    2008年6月25日00:40 | #19

    SoftwareDistribution無法更名的問題,我剛剛也遇到,不過我重開機以後,在命令字元重做過net stop WuAuServ確實地終止自動更新後就可以順利更改了,希望對上頭遇到相同問題的大家有幫助。

    作者大,我想轉載您的文章,先行跟您告知一聲,希望您能同意,謝謝。

  20. longquan
    2008年6月27日10:53 | #20

    第一次成功了,一段时间以后,svc又满载,再做一次发现多了一个softwaredistribution,原来的SDold还在。这样就不好改名了。
    于是我就将原来的SDold删了。不知道可不可以,望大虾指点。
    (邮箱联系)

  21. qmo
    2008年6月27日21:58 | #21

    感謝你分享這個實用的技巧,對付一些老電腦很有用,謝謝~

  22. Sisn
    2008年6月29日10:36 | #22

    Thanks.

  23. 逐浪随风
    2008年7月5日17:03 | #23

    LZ~~我按照每个步骤都做了,顺利做完,但CPU还是100…然后现在文件夹名字也改了 想重头来一次都不行,我该怎么办啊?

  24. Xiasangju
    2008年7月9日17:03 | #24

    I think it is only a translation from Tech Blender which is dated 07/2006 early than your blog which is dated 02/2007.

    See: http://swigartconsulting.blogs.com/tech_blender/2006/07/windows_update_.html

  25. 27565497
    2008年7月13日23:37 | #25

    好象没有用呢 用的你的方法 不过还是觉得很好 是我对我不管用 怎么办

  26. 2008年7月14日22:26 | #26

    又到了久久一次的留言回覆了~~~ XD
    To 小米:
    有可能是您的「自動更新」沒有啟動,所以自然也就無法停止啦。

    To 彳昌:
    1.有些電腦會寫中文的「自動更新」,而不是英文的「Automatic Updates」
    2.改不了名有可能是被Lock住了,可以試試進安全模式或是Unlocker
    3.會有人回答的,只是久久一次 :p

    To 程:
    可以比較清楚地描述你的狀況嗎?

    To 龙龙
    有可能是被Lock住了,可以試試進安全模式或是Unlocker

    To kayuko:
    我文中是說,大寫的SVCHOST.EXE「有可能」是病毒,但不一定就真的是。
    您可以先看看它的路徑是在哪兒,如果不是在c:\windows\system32下的話,
    那就很有可能真的是中毒了。

    To 阿力:
    沒有關係的

    To 小李同学:
    此篇文章是解決「因Windows Update所造成的svchost.exe佔用大量CPU資源」的問題的。
    如果您的問題發生原因不是這個的話,那就不見得適合您了。

    To Yvonne Yin:
    Vista的話我就不知道有沒有效囉,我自已也有用Vista倒時沒遇過svchost.exe狂飆的問題。

    To 方向:
    盡管轉載~ 謝謝! :)

    To longquan:
    直接刪除是可以的,會說更名只是保險起見。

    To 逐浪随风:
    想重头来一次都不行?請問是怎麼個不行法呢?

    To Xiasangju:
    Thanks for your comment.
    As I mentioned before, I searched many sites and finally found this solution somewhere on the Internet.
    But I’d already forgot where I found it.
    I think a Chinese version may help more people. ;)

    To 27565497:
    可以請您比較詳細的描述您的情況嗎?

  27. jokon
    2008年7月15日18:09 | #27

    REGSVR32 WUPS2.DLL为什么我这部操作不成功

  28. 2008年7月16日01:36 | #28

    To jokon:
    不成功没关系,您可以直接跳过这步骤往后做,看看能不能解决您的问题

  29. 27565497
    2008年7月16日12:04 | #29

    就是用了你的方法 我的机子还是CPU100%有时候

  30. 27565497
    2008年7月16日12:05 | #30

    REGSVR32 WUPS2.DLL
    还有找不到上面这个

  31. 2008年7月19日00:46 | #31

    To 27565497:
    您說還是有CPU 100%的問題,請問仍是「當windows update時,svchost佔用100% CPU資源的狀況」嗎?

  32. 2008年7月19日16:48 | #32

    感謝您的教學 m(_ _)m
    最近不知怎麼搞得,常常被這玩意兒弄得電腦無法動彈
    以前都沒這樣…可是最近三不五時就出現
    很順利的照著這個方法做了
    可以讓我轉貼這個文嗎?

  33. 2008年7月19日23:46 | #33

    To tomsiuon:
    Sure~ 當然沒問題 ;)

  34. Rachel
    2008年7月21日07:56 | #34

    請問
    在操作到一半時至2-2「SoftwareDistribution」並更名為「SDold」步驟時跳出為更名未繼續操作(停電)
    再開機時有出現中文的自動更新
    我有再輸入net start WuAuServ
    結果不再佔用CPU
    但畢竟沒有完全 請問要從哪一步驟繼續做下去(現在很好要繼續完成嗎)
    謝謝

  35. Rachel
    2008年7月21日08:02 | #35

    再請問
    我的SVCHOST.EXE都是大寫的(六個)
    還好是在system下
    但有一個SVCHOST.EXE-2D5FBD18.pf在WINDOWS下的prefetch中有問題嗎 麻煩告知謝謝

  36. DRUBBY
    2008年7月21日10:07 | #36

    为什么我的电脑到了[%windir%]电脑就找不到了!
    请帮忙

  37. 2008年7月22日10:53 | #37

    To Rachel:
    如果一切安好的話就不用繼續了 :)
    Prefetch是Windows的預讀資料夾,用來提高系統速度效能的,所以理應該沒關係的。

    To DRUBBY:
    %windir% 指的就是安裝windows的目錄,所以如果您的電腦不認得 %windir% 的話,您也可以直接用 c:\windows 代替。(看您的windows裝在哪)

  38. Emily
    2008年7月22日13:19 | #38

    能加我的MSN吗?有点问题想请教,谢谢!emilysister001@hotmail.com

  39. PSJ
    2008年7月22日21:30 | #39

    很有用的文章想轉下

  40. DRUBBY
    2008年7月24日11:59 | #40

    REGSVR32 WUPS2.DLL我的电脑到这时,就找不到这个东西!
    请帮忙!

  41. jay chou
    2008年7月30日23:28 | #41

    thank you! It is very good

  42. 2008年7月31日10:20 | #42

    我运行REGSVR32 WUCLTUI.DLL后,系统提示我:Loadibraty("WUCLTUL.DLL")失败-找不到指定的模块
    请问这是什么原因啊???

  43. 2008年7月31日16:44 | #43

    To DRUBBY, lavender52511:
    不成功没关系,您可以直接跳过这步骤往后做,看看能不能解决您的问题

  44. 2008年8月3日08:11 | #44

    我做了后面的,命令也都是成功的,但开始打开任务管理器的时候CPU的运用率还是100%,不过一下就不是了.请问这是为什么呢??

  45. 2008年8月3日10:23 | #45

    Counters are to count hits and hits to count is to count hits for free so free hit counterz for you to have free hits.

  46. chengw
    2008年8月6日22:04 | #46

    在给[SoftwareDistribution]更名为「SDold」之前必须把Automatic Updates禁用吧,要不然无法更改,对吧?

  47. jay
    2008年8月7日14:15 | #47

    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
    REGSVR32 WUAUENG.DLL
    REGSVR32 WUAUENG1.DLL
    REGSVR32 ATL.DLL
    REGSVR32 WUCLTUI.DLL
    REGSVR32 WUPS.DLL
    REGSVR32 WUPS2.DLL
    REGSVR32 WUWEB.DLL
    我操作这一步时,只有第一个和第三个成功找不到dll文件错误之处。
    请问我如何操作。请大侠帮帮忙~!忘了说我是vista

  48. jay
    2008年8月7日14:17 | #48

    mail地址写错了

  49. jay
    2008年8月7日14:19 | #49
  50. jay
    2008年8月7日14:22 | #50

    我做到命令那一块只有第一个和第三个成功其他都不成功,接下来不会了。请问我该怎么办呢?

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