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

Windows
轻松跨越Windows Server 2008远程管理障碍
一切为了效率 Windows Server 2008操作新招
Windows Server 2008搭建终端服务器
Windows Server 2008网络安全与终端服务
层层深入 拨开Windows Server 2008系统谜雾
清除Vista 系统休眠文件的方法
修改远程桌面端口提高Windows Vista系统安全性
XP安装IIS,找不到zClientm.exe的解决办法
操作系统更安全稳定的电脑使用方法
Vista 系统组策略的神秘世界
Vista SP2 更新和升级常见问题和解决方案
禁用Windows Vista的本地搜索历史记录
解决Windows Vista/7下安装程序冲突问题
Windows Live Messenger 2009 - 双开不再是难题
Windows XP/Vista/Windows 7常见蓝屏故障分析
自己动手解决微软ActiveX安全隐患
一条命令轻松解决中文Vista却出现英文启动项菜单
Windows Themes外观视觉样式故障汇总
让Vista中的Media Center 支持更多文件格式及文件夹
巧用命令一次关闭Vista下多个IE8进程

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-16   浏览: 195 ::
收藏到网摘: 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的问题都是应用遇到失败/例外情况后自动重试造成的,本想为用户节省时间的设计,但是重试的频度过高反而导致了和病毒一样的效果。