win7进程中的svchost.exe占用CPU和内存很高服务的原因和解决窍门

分类: 电脑相关 |
win7进程中的svchost.exe占用CPU和内存很高的原因和解决窍门
当您运行了Windows任务管理器后,您可能会在“进程”选项卡中看到若干个名称均为SVCHOST.EXE的进程正在同时运行。而且,这些SVCHOST.EXE可能有一个或若干个占用了较多的系统资源,影响了计算机的工作效率。
http://img.qmtx3.com/qmtx3img/uploads/allimg/201302/1240013A7-0.jpg
SVCHOST.EXE 位于Windows\system32系统文件夹,其文件描述为“Generic Host Process for
Win32
Services”。当Windows启动时,SVCHOST.EXE将自动检查Windows注册表的系统服务组成、构建系统服务列表,然后将相关
由于每个SVCHOST.EXE进程可能会加载一个或若干个系统服务,直到所有的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是加载系统服务的宿主进程,所以您如果发现某SVCHOST.EXE进程占用的系统资源较多,即表明通过这个
SVCHOST.EXE进程加载的系统服务占用的系统资源较多。您首先需要确定通过这个SVCHOST.EXE进程加载的系统服务具体是什么,然后根据计
虽然大多数系统服务只有在遇到故障时才会占用较高的系统资源,但某些特殊的服务即使是正常工作状态也将消耗较多系统资源。例如Automatic
Updates自动更新服务,当自动更新在后台搜索可用的系统更新程序时必将占用较高的资源,这是设计使然而不是故障。
判断一个SVCHOST.EXE加载了哪些系统服务有两种方法
方法一:
-
在Windows任务管理器的“进程”选项卡中查看占用资源较高的SVCHOST.EXE进程对应的PID,将PID记下。(如果在任务管理器中看不到“PID”,请在菜单中选择“查看”-“列设置”,选中“PID”复选框。)
-
以管理员权限运行命令提示符(CMD.EXE),在命令提示符中执行:
TASKLIST –SVC
您将看到类似如下所示的结果:图像名
PID 服务
SVCHOST.EXE 1104 DcomLaunch,TermServices
SVCHOST.EXE 1188 RpcSs
…… -
对
照您在任务管理器中看到的SVCHOST.EXE的PID,在上述结果中查找对应的 SVCHOST.EXE。例如,假设您在任务管理器中看到PID为1188的SVCHOST.EXE占用了较多系统资源,而TASKLIST –SVC的结果显示PID为1188的SVCHOST.EXE加载的服务是RpcSs,即表明RpcSs服务(Remote Procedure Call (RPC) 服务)占用了较高的系统资源。
方法二:
-
在microsoft.com下载系统工具Process Explorer:
https://technet.microsoft.com/en-us/sysinternals/bb896653/
https://download.sysinternals.com/files/ProcessExplorer.zip
-
运行Process Explorer,在进程列表中找到占用系统资源较多的SVCHOST.EXE进程,右键单击选择Properties(属性),切换至Services(服务)选项卡,在这里即可查看SVCHOST.EXE进程加载的系统服务是什么。