win7每次开机后就有一个svchost.exe占用内过高7
发布网友
发布时间:2023-10-05 03:17
我来回答
共2个回答
热心网友
时间:2024-11-23 19:23
我的也是,我直接结束进程,最简单.下前有一篇文章,希望有帮助:
SVCHOST.EXE进程占用高怎么办?揪出背后的罪魁祸首
当您运行了Windows任务管理器后,您可能会在“进程”选项卡中看到若干个名称均为SVCHOST.EXE的进程正在同时运行。而且,这些SVCHOST.EXE可能有一个或若干个占用了较多的系统资源,影响了计算机的工作效率。
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 Procere Call (RPC) 服务)占用了较高的系统资源。
热心网友
时间:2024-11-23 19:24
说的可能window update导致的。于是参考这篇文章找到C:\Windows\SoftwareDistribution\DataStore\DataStore.edb这个文件。发现这个文件500多M。查看该进程对应服务,有很多服务都依赖他,包括windows update,资源监视器中进程显示为svchost..exe(netsvcs),
可以判定不是病毒引起的。以前用Vista也遇到这个问题,删除C:\Windows\SoftwareDistribution\DataStore\DataStore.edb这个文件可以解决问题,并且以前在Vista下就是这样做的,可以解决问题,但是过段时间就又会出现,并且这样做的缺点是windows update无法查看以前的更新历史。据说正常情况下这个文件大小应该在几兆,
以前Vista超过40M就会导致开机CPU过高,现在我的win7已经达到了114M。
经过删掉这个文件,重新启动后,一切正常!
再去查看这个文件发现,这个文件又重新生成了。不过这次很小也就8M多点。
后来又一次在其他机器上遇到这种情况,发现将C:\Windows\SoftwareDistribution\文件夹下的所有文件清除也没有什么问题,这样更快更直接。因为此文件夹下还有自动更新下载下来的一些文件,在download文件夹下。如果时间很长的话,这个文件夹一般文件比较多也比较大。后来在网络上又发现一篇文章,说的解决办法如下:
1、首先结束占用100%的svchost.exe进程,让计算机恢复正常。
2、结束wuauclt.exe进程。
3、进入“控制面板-管理工具-服务”,关闭AutomaticUpdates服务。
4、清楚C:\WINDOWS\SoftwareDistribution所有文件。
5、进入“管理工具-服务”,再启动AutomaticUpdates服务。
完成上述操作后重启电脑,问题一般都可以解决。