• 欢迎访问金刀客博客!
  • 2019,春节快乐!

svchost.exe占用CPU 100%的解决方法

技术文章 admin 8636次浏览 已收录 0个评论

svchost.exe占用CPU 100%的原因似乎都是因为微软的自动更新造成的。在网上找到2个办法,现在转过来。
1, 作者:车东 发表于:2007-04-15 12:04 最后更新于:2007-05-25 06:05
出处:http://www.chedong.com/blog/archives/001286.html
现象:
1. 机器启动运行几分钟后 svchost.exe就会占系统cpu资源的100%
2. 拔掉网线就好了,重连上网后一会儿:svchost.exe又占cpu资源的99%;
解决:
假设你已经使用了免费杀毒软件排除了病毒和已经使用防间谍软件排除了恶意软件的影响:
想办法清空C:\WINDOWS\SoftwareDistribution 目录下所有的文件重启机器即可。(C:\WINDOWS\SoftwareDistribution是Windows update服务的临时文件存放目录)
如果机器提示文件正在使用(”Automatic Updates”服务正在运行)无法删除相应目录:
* 则想办法打开控制面板==>管理工具==>服务,找到”Automatic Updates”,设置成手动启动,
* 重启后再删除 C:\WINDOWS\SoftwareDistribution。问题就解决了。
* 然后再打开控制面板==>管理工具==>服务,找到”Automatic Updates”,恢复成自动启动重启。
注意:重启后最好在上网条件比较好的地方让系统顺利完成一次系统自动更新。
推广: 遇到类似问题的应该挺多的,如果你也发现这个方法有用,请将 http://www.chedong.com/blog/archives/001286.html
这个链接加到你的blog里。
html代码: http://www.chedong.com/blog/archives/001286.html“>svchost.exe
原因分析:
先说说什么是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和svchost.exe的问题都是应用遇到失败/例外情况后自动重试造成的,本想为用户节省时间的设计,但是重试的频度过高反而导致了和病毒一样的效果。
参考资料:
* svchost.exe CPU Usage 100%, when my Windows using Automatic Update
* svchost.exe 吃掉所有 CPU 資源
* 微软官方说明: 使用“自动更新”搜索更新或对使用 Windows Installer 的应用程序应用更新时,遇到涉及 Svchost.exe 进程的问题
* Windows Update使SVCHOST.exe的问题跟踪
2,出处:http://blog.simplife.net/archives/323
最近开机后SVCHOST.exe总是占用100%,机器并无病毒,且无恶意插件些,很是郁闷,于是google之.
原因请见微软的KnowledgeBase,http://support.microsoft.com/kb/916089/
找到了一个解决方法,以下内容,复制到记事本里,另存为fix_100.bat,运行之即可.
或者
点击下载此文件
@echo off
rem ****************************************
rem Repair Start!
rem reregister windows update components
rem Supported Platforms
rem Windows XP
rem Part I
rem stop windows automatic update service and Background Intelligent Transfer Service
rem ****************************************
net stop WuAuServ
net stop BITS
rem net start WuAuServ
rem net start BITS
rem ****************************************
rem Part II
rem clear the cache directory of windows update that probably be destoried
rem step 1. stop Windows automatic update sercice
rem step 2. rename the directory as SDold which name is SoftwareDistribution
rem step 3. start windows automatic update servicerem
rem ****************************************
net stop cryptsvc
ren %systemroot%\System32\Catroot2 oldcatroot2
net start cryptsvc
cd %windir%
ren SoftwareDistribution SDold
rem ****************************************
rem Part III
rem repair the dll components
rem ****************************************
REGSVR32 WUAPI.DLL /s
REGSVR32 WUAUENG.DLL /s
REGSVR32 WUAUENG1.DLL /s
REGSVR32 ATL.DLL /s
REGSVR32 WUCLTUI.DLL /s
REGSVR32 WUPS.DLL /s
REGSVR32 WUPS2.DLL /s
REGSVR32 WUWEB.DLL /s
rem ****************************************
rem Part IV
rem start the service
rem ****************************************
net start WuAuServ
net start BITS
net start Eventlog
rem ****************************************
rem operation done!
rem ****************************************
@exit


金刀客博客 , 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明svchost.exe占用CPU 100%的解决方法
喜欢 (2)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到