当前位置:主页 > 深度系统教程 > svchost.exe占用cpu高50%怎么处理?

svchost.exe占用cpu高50%怎么处理?

发布日期:2019-08-11    作者:深度技术    来 源:http://www.sdgho.com

svchost.exe占用cpu高50%怎么处理?

大家都了解在windows系统中svchost.exe进程是系统进程,而且会有许多个,一般来说并不会影响系统性能,不过某些情况下出现svchost.exe占用cpu高达到25%甚至50%的情况也会出现,这时该如何处理呢?本文由svchost.exe的运行原理说起,然后协助大家处理svchost.exe占用CpU高的问题。

故障图如下:

svchost.exe占用cpu 50%

sVCHosT.ExE 位于windows\system32系统文件夹,其文件描述为“Generic Host process for win32 services”。当windows启动时,sVCHosT.ExE将自动检查windows注册表的系统服务组成、构建系统服务列表,然后将关于 的.dLL动态链接库文件加载为全部的运行中的系统服务。因此,你们可以将sVCHosT.ExE看作一个“用于加载系统服务的宿主程序”

由于每个sVCHosT.ExE进程可能会加载一个或若干个系统服务,直到所有的sVCHosT.ExE将具体系统服务加载完毕,所以你们会在任务管理器 中看到多个sVCHosT.ExE同时运行,这是设计使然。一般地,windows xp/windows server 2003可能会有不超过六个sVCHosT.ExE同时运行;而windows Vista/windows server 2008/windows 10会有不少于十个sVCHosT.ExE同时运行。

当你在windows任务管理器中查看 sVCHosT.ExE进程时,sVCHosT.ExE进程的“用户名”应该显示为sYsTEM、LoCAL sERViCE或nETwoRK sERViCE。(如果在任务管理器中看不到“用户名”,请在菜单中选择“查看”-“列配置”,选中“用户名”复选框。)如果某个sVCHosT.ExE 进程的“用户名”显示的是用户帐户的名称(例如Administrator),则这个sVCHosT.ExE很可能是冒仿的恶意程序。

另外你需要确认,你看到的sVCHosT.ExE进程的名称拼写是否有误。比如假设显示的进程名称是sVCH0sT.ExE(用数字0替换了字母o),则 很可能是冒仿的恶意程序;再比如进程的名称虽然是sVCHosT.ExE,但此进程却没有位于windows\system32(windows Vista上述版本的任务管理器可以查看进程所在的文件夹路径),则也可能是冒仿的恶意程序。

由于sVCHosT.ExE是加载系统服务的宿主进程,所以你如果发现某sVCHosT.ExE进程占用的系统资源较多,即表明通过这个 sVCHosT.ExE进程加载的系统服务占用的系统资源较多。你首先需要确定通过这个sVCHosT.ExE进程加载的系统服务全部是什么,然后根据计 算机的实际情况决定是否关上相应的系统服务、以释放服务占用的系统资源,这样sVCHosT.ExE即可释放相应的系统资源。

虽然大多数系统服务只有在遇到故障时才会占用较高的系统资源,但某些特殊的服务即使是正常工作状态也将消耗较多系统资源。例如Automatic Updates自动升级服务,当自动升级在后台搜索可用的系统升级程序时必将占用较高的资源,这是设计使然而不是故障。

判断一个sVCHosT.ExE加载了哪些系统服务有两种办法

判断办法一:

 1、在windows任务管理器的“进程”选项卡中查看占用资源较高的sVCHosT.ExE进程对应的pid,将pid记下。(如果在任务管理器中看不到“pid”,请在菜单中选择“查看”-“列配置”,选中“pid”复选框。)

2、以管理员权限运行命令提示符(CMd.ExE),在命令提示符中执行:

TAsKLisT –sVC

你将看到类似如下所示的后果:  

图像名                         pid                       服务
     sVCHosT.ExE             174                     dcomLaunch,Termservices
     sVCHosT.ExE             1188                     Rpcss
     ……

 

3、对 照你在任务管理器中看到的sVCHosT.ExE的pid,在以上后果中查找对应的 sVCHosT.ExE。例如,假设你在任务管理器中看到pid为1188的sVCHosT.ExE占用了较多系统资源,而TAsKLisT –sVC的后果显示pid为1188的sVCHosT.ExE加载的服务是Rpcss,即表明Rpcss服务(Remote procedure Call (RpC) 服务)占用了较高的系统资源。

判断办法二:

1、在microsoft.com下载系统工具process Explorer:

http://www.microsoft.com/technet/sysinternals/Utilities/processExplorer.mspx www.winwin10.com(http://www.microsoft.com/technet/sysinternals/Utilities/processExplorer.mspx) 

 

2、运行process Explorer,在进程列表中找到占用系统资源较多的sVCHosT.ExE进程,右键单击选择properties(属性),切换至services(服务)选项卡,在这里即可查看sVCHosT.ExE进程加载的系统服务是什么。


当你们判断完成后,定位到加载的服务我偿可以打开本地服务,然后测试停止服务再启动一般就可以处理问题了。处理案例:


通常情况下,网络不好时windows自动升级服务可能会失败,导致其反复重试,后果CpU负载极高。其表现为:系统启动几分钟后 svchost.exe就会占70% cpu资源,但是拔掉网线就好了。

处理方法:

      1、进入安全模式
      2、删除C:\windows\softwaredistribution下面所有的文件重启机器,
      3、 打开控制面板->管理工具->服务,找到【自动升级(Automatic Updates)】,设成手动升级或者关上自动升级,
      4、重启机器,删除C:\windows\softwaredistribution下面的文件,这时再在控制面板里还原自动升级配置。

当然不同的问题要用不同的办法来处理,多搜索网络上可能都会处理答案。

本站发布的系统与软件仅为个人学习测试使用,不得用于任何商业用途,否则后果自负,请支持购买微软正版软件!

深度系统官网如果有侵犯您的资源,请来信告知,我们将及时处理。 Copyright 2022 深度系统教程

2