svchost.exe占用cpu高50%怎么处理?
svchost.exe占用cpu高50%怎么处理??
我们都熟悉在windows系统中svchost.exe进程是系统进程,而且会有许多个,一般来说并不会影响系统性能,不过某些情况下出现svchost.exe占用cpu高达到25%甚至50%的情况也会出现,这时该如何处理呢?本文由svchost.exe的运行原理说起,然后借助我们处理svchost.exe占用CPU高的故障。
问题图如下:
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 7会有不少于十个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 1104 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.winwin8.com(http://www.microsoft.com/technet/sysinternals/Utilities/ProcessExplorer.mspx)
2、运行Process Explorer,在进程列表中找到占用系统资源较多的sVCHosT.EXE进程,右键单击选中Properties(属性),切换至services(服务)选项卡,在这里便可查看sVCHosT.EXE进程加载的系统服务是什么。
当大家判断完成后,定位到加载的服务我偿可以点击本地服务,然后尝试停止服务再启动一般就可以处理故障了。处理案例:
通常情况下,网络不好时windows自动更新服务大概会失败,导致其反复重试,结果CPU负载极高。其表现为:系统启动几分钟后 svchost.exe就会占100% cpu资源,但是拔掉网线就好了。
处理方法:
1、进入安全模式
2、删除C:\wINDows\softwareDistribution下面所有的文件重启机器,
3、 点击控制面板->管理工具->服务,找到【自动更新(Automatic Updates)】,设成手动更新或者关闭自动更新,
4、重启机器,删除C:\wINDows\softwareDistribution下面的文件,这时再在控制面板里恢复自动更新设置。
当然不同的故障要用不同的办法来处理,多搜索网络上大概都会处理答案。
相关文章
更多+-
09/19
-
03/17
-
05/13
-
04/19
-
08/12
手游排行榜
- 最新排行
- 最热排行
- 评分最高
-
动作冒险 大小:322.65 MB
-
角色扮演 大小:77.48 MB
-
动作冒险 大小:327.57 MB
-
角色扮演 大小:333 B
-
卡牌策略 大小:260.8 MB
-
模拟经营 大小:60.31 MB
-
模拟经营 大小:1.08 GB
-
角色扮演 大小:173 MB