(转载)svchost.exe占CPU 100%的解决方法

简介: 作者:车东 发表于:2007-04-15 12:04 最后更新于:2007-04-15 13:04版权声明:可以任意转载,转载时请务必以超链接形式标明文章原始出处和作者信息及本声明。

现象:

  1. 机器运行一段时间后 svchost.exe就会占系统 cpu 100%
  2. 拔掉网线就好了,重连后svchost.exe又占99%;

解决:

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

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

  • 则想办法打开控制面板==>管理工具==>服务,找到"Automatic Updates",设置成手动启动,
  • 重启后再删除 C:\WINDOWS\SoftwareDistribution。问题就解决了。
  • 然后再打开控制面板==>管理工具==>服务,找到"Automatic Updates",恢复成自动启动重启。

注意:重启后最好在上网条件比较好的地方让系统顺利完成一次系统自动更新。

推广: 遇到类似问题的应该挺多的,如果你也发现这个方法有用,请将 http://www.chedong.com/blog/archives/001286.html
这个链接加到你的blog里。
html代码: <a href="http://www.chedong.com/blog/archives/001286.html">svchost.exe</a>

 

原因分析:

先说说什么是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的问题都是应用遇到失败/例外情况后自动重试造成的,本想为用户节省时间的设计,但是重试的频度过高反而导致了和病毒一样的效果。

 

参考资料:

相关文章
|
11月前
|
Windows
由antimalware占用CPU引起的一系列问题及解决方法
由antimalware占用CPU引起的一系列问题及解决方法
319 0
|
移动开发 运维 Java
Linux系统中CPU占用率较高问题排查思路与解决方法
这篇文章主要给大家介绍了关于Linux系统中CPU占用率较高问题排查思路与解决方法,文中通过示例代码介绍的非常详细,对大家学习或者使用Linux具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
607 0
Linux系统中CPU占用率较高问题排查思路与解决方法
|
SQL BI 存储
【SQL&nbsp;Server】SQL&nbsp;Server占用CPU使用率100%的解决方法
原文:【SQL Server】SQL Server占用CPU使用率100%的解决方法 近日,帮一个客户解决了服务器CPU占用率高达100%的问题。 以前做的一个某污水处理厂自控系统项目,客户反映其自控服务器有故障,由于自控服务存放iFIX服务器端、现场多套PLC实时数据、过程数据、报表数据等重要软件和数据。
2277 0
|
搜索推荐
阿里云服务器经常CPU跑满,服务器宕机彻底解决方法
阿里云服务器经常CPU跑满,服务器宕机彻底解决方法 要解决这个问题首先先要知道问题出在哪里下面给大家介绍一下CPU跑满的一个案例 解决方法在文章最下方 CPU跑满的问题出现过很多次,最多的时候一天跑满四五次
8118 0
|
SQL 关系型数据库 MySQL
Mysql CPU占用高的问题解决方法小结
  通过以前对mysql的操作经验,先将mysql的配置问题排除了,查看msyql是否运行正常,通过查看mysql data目录里面的*.err文件(将扩展名改为.txt)记事本查看即可。如果过大不建议用记事本了,容易死掉,可以用editplus等工具
3860 0