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

Windows
win2000/2003删除默认共享的方法
Windows操作系统禁用危险端口保护系统安全
IIS6.0不能上传大于200K文件解决办法
Windows 2003安装后的相关设置
提高Windows 2003运行速度方法
windows 系统下关闭危险的445端口
Win Server 2003 使用技巧图解
服务器远程超出最大连接数常用解决办法
windows2003 Server搭建域环境图解
Win2003自动登录的方法
Win2003常见故障解决方法
加快Win2003操作系统运行速度
MSSQL2000 安装出现挂起的解决办法
windows2003 IIS6.0 asp配置技巧
windows 系统任务管理器打不开的解决办法
win2003系统重装NTFS分区无法访问解决办法
ARP欺骗攻击原理深入说明分析
强大的Windows磁盘清理功能
WIN2003服务器常用安全策略
快速释放Windows系统资源的方法

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


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