当前位置: 首页 > 图文教程 > 操作系统 > Windows > svchost.exe占用CPU资源过高的解决办法

Windows
Windows Virtual PC功能概述及与VPC 2007的比较
Windows 7-Realtek HD Audio声卡驱动2.25WHQL
微软细数Windows 7 Starter版本功能限制
Windows7新功能 光盘可当U盘用
Windows 7 RC2 build 7200即将面世
微软确认取消Win7入门版三个程序限制
教你在Windows 7中快速关闭程序窗口
Google Trends - Win 7比雪豹更受欢迎
Windows 7升级风险与升级收益分析
欧盟反垄断后续 - 或逼迫微软在Windows中捆绑其他浏览器
更新公布:Windows 7 RC2 Build 7200编译完成
微软台湾内部文件曝光 - Windows 7还有更多新功能?
如何更改Win 7中WMP12默认的视频解码器?
win7中更改WMP12视频解码器
分析Vista系统和Win7系统的崩溃转储文件
更自然的人机交互界面-Win7中的多点触摸
微软确认Windows7在10月22日正式亮相
Windows Server 2008 R2公布发售日期
英国最大PC零售商 - 只销售Windows上网本
微软官方视频 - 硬件管理和Windows 7 Touch

Windows 中的 svchost.exe占用CPU资源过高的解决办法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-16   浏览: 265 ::
收藏到网摘: n/a

症状现象描述:

机器启动运行几分钟后 svchost.exe就会占系统cpu资源的100%
拔掉网线就好了,重连上网后一会儿:svchost.exe又占cpu资源的99%;


解决方法:

假设你已经使用了免费杀毒软件排除了病毒和已经使用防间谍软件排除了恶意软件的影响:
想办法清空C:\WINDOWS\SoftwareDistribution 目录下所有的文件重启机器即可。(C:\WINDOWS\SoftwareDistribution是Windows update服务的临时文件存放目录)

如果机器提示文件正在使用("Automatic Updates"服务正在运行)无法删除相应目录:

则想办法打开控制面板==>管理工具==>服务,找到"Automatic Updates",设置成手动启动,
重启后再删除 C:\WINDOWS\SoftwareDistribution。问题就解决了。
然后再打开控制面板==>管理工具==>服务,找到"Automatic Updates",恢复成自动启动重启。
注意:重启后最好在上网条件比较好的地方让系统顺利完成一次系统自动更新。

原因分析:

先说说什么是svchost.exe:简单的说没有这个RPC服务,机器几乎就上不了网了。很多应用服务都是依赖于这个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的问题都是应用遇到失败/例外情况后自动重试造成的,本想为用户节省时间的设计,但是重试的频度过高反而导致了和病毒一样的效果。