如何解决Windows 7中“ svchost.exe”使用率过高的问题?


24

我在Windows 7 64位上遇到问题。我以为一切都很缓慢,但是后来我发现CPU使用率始终在80%左右,并开始寻找解决方案。

有两个svchost.exe消耗大约30%的资源,并且在资源监视器中有一个系统中断一直消耗45%的资源。我尝试关闭应用程序,但这没什么区别。

我尝试了在Google上发现的其他一些功能,例如禁用系统更新,但是没有用。

我不知道是否有帮助,但这是我的规格:

Core 2 Duo 4400
ATI Radeon 4850
4 GB DDR2 RAM

编辑

我运行了建议的程序并获得了此信息;我说对了吗?

在此处输入图片说明


编辑

正如您在这里所说的,我现在知道了吗?其他TCP / IP没有任何内容。

在此处输入图片说明

编辑

我运行msconfigsvchost.exe从启动中取出了其中一个进程正在使用的服务,现在我的CPU大约占50%,但是我仍然想进一步改善它。我不能仅仅因为Windows而失去那么多的CPU能力...


编辑

是的,我在这里无能为力。我即将重新安装Windows XP,这真的很奇怪。

Answers:


17

我认为您会发现Svchost Viewer很有用。

在此处输入图片说明

您可以通过查看写入的数据量等来使用它来确定哪个程序在做什么。它应该以某种方式帮助确定哪个进程在做什么。


我曾尝试使用此工具,但不知道为什么它总是显示svchost viewer couldn't find any running services。是否需要任何特定的配置来显示svc主机进程?我在提到的链接上找不到任何文档。
RBT

14

使用诸如Process Explorer之类的程序来确定哪个svchost.exe正在消耗资源。是svchost正从运行services.exe?该特定命令的命令行参数是svchost什么?有几种svchost通过Windows运行的程序,您将需要隔离消耗这些资源的程序。进程资源管理器将显示与该进程关联的服务,并显示其正在使用的TCP / IP端口。

单击“进程”标签,以便进程以树格式显示以确认它正在通过运行services.exe

在此处输入图片说明

尽管通过查看“服务”选项卡,它们看起来是合法的。

First svchost looks like `svchost.exe -k LocalServiceNoNetwork`
Second svchost looks like `svchost.exe -k LocalServiceNetworkRestricted`

您是否有任何攻击Windows防火墙的东西?“ TCP / IP”和“线程”选项卡显示什么?线程选项卡将显示每个进程中线程的CPU信息。您是否尝试过重新启动指定的服务或检查事件日志以查看许多错误?

您是否正在运行媒体文件的任何索引编制,或者您的LAN上有任何内容试图访问这些媒体文件?

这是很多EtwTraceMessageVa调用。您检查过事件日志了吗?以使用CPU的速度,WMI中必须有一些东西写入ETW中。更好的问题是,此操作是最近开始的吗?您是否有还原点?


预安装的Windows资源监视器还将显示正在使用svchost的特定进程名称。
marcovtwout 2015年

根据重复问题的答案,如果您将鼠标悬停在进程名称上,它将告诉您在该svchost进程下正在运行哪些服务。
杰夫B

4

我对其他人在此问题上提供的建议感到惊讶(有些人甚至只是做出了猜测)。

对于列奥纳多(Leonardo)和其他在这里找到路的人来说,其他所有人都错过了一些提示。

  • 是的,首先获取Process Explorer的副本。

  • 是的,接下来查看SVCHOST.EXE正在运行的实例,然后双击具有较高CPU使用率的实例。

  • 是的,请查看Services选项卡以了解该svchost实例正在托管哪些服务。

这是其他人停下来的地方;这还不够。现在,您需要Services.msc依次运行和停止svchost失控实例所托管的每个服务,并确保在每个svchost实例等待一段时间后观察CPU负载是否下降。如果是这样,那么您停止的最后一个是罪魁祸首。

在这一点上,您确切地知道什么服务正在占用CPU,然后可以继续找出为什么该特定服务会浪费周期。


1

svchost名称下可以运行许多病毒,因此最好检查一下是否运行并已更新了不错的防病毒软件。不过,这很可能是与病毒无关的Windows问题。

Svchost.exe是从动态链接库(DLL)运行的服务的通用主机进程名称,您可以使用Svchost Process Analyzer分析这些特定svchost进程的内容。


1

我只是有一个svchosts进程,在过去的两天里无处不在,开始削弱我的Win7 32位PC,(双核)CPU阻塞了100%。这个特定的svchost进程负责十几个网络服务进程线程,所有这些线程似乎都是标准的必要网络服务。

通过结合使用EventVwr,Sys Internals Process Explorer和svchost分析器中的新管理员警报,我将其范围缩小到了主要原因:

Windows Live Mesh远程桌面服务

在服务中禁用此功能使我恢复了大约60%的CPU,然后在任务管理器中删除了该特定的svchost服务。

然后将其替换为另一个,使用率约为35-45%。通过在任务管理器中单击鼠标右键并转到服务,属性唯一的服务是Windows Defender ....(并且我们以前都听说过该服务)。

由于许多人没有意识到默认情况下Windows 7已安装该程序(您在程序列表中看不到它),此链接显示了有关如何禁用它的很好的帮助。

http://www.simplehelp.net/2009/03/11/how-to-disable-windows-defender-in-windows-7/


1

我也遇到了svchost.exe问题,导致100%CPU使用率。与svchost相关的服务有NLASvc,LanmanWorkstation,Dnscache和CryptSvc。我的问题最终是Firefox。在最新版本中,他们添加了plugin-container.exe,该进程与Firefox分开运行。其背后的想法是,如果某个插件崩溃,它不会崩溃Firefox或您的浏览会话。但这使我的系统难以承受。

解决方案:禁用插件容器过程。

  • 打开Firefox Web浏览器。
  • 在地址栏中输入about:config,然后按Enter键。
  • 将会出现警告。忽略它,然后按“我会小心,我保证!”按钮。
  • 在过滤器字段中,输入dom.ipc。过滤器dom.ipc将出现六个首选项。
  • 忽略第一个和最后一个首选项(dom.ipc.plugins.enabled和dom.ipc.plugins.timeoutSecs)。切换(双击)剩余的四个首选项,以将值从“ true”更改为“ false”。

完成后,重新启动Firefox并打开Windows任务管理器以查看插件容器进程已禁用。

更多信息

Firefox 3.6中的崩溃保护功能仅对某些插件启用。我们在此处修改的四个首选项指定了四个不同的进程外插件。它们是NPAPI测试插件,Adobe Flash,Apple QuickTime(Windows)和Microsoft Silverlight(Windows)。这些插件在单独的dom.ipc.plugins.enabled首选项中指定,默认情况下设置为true。我们可以通过将其值更改为false来禁用它们。因此,plugin-container.exe将无法运行。默认情况下,首选项dom.ipc.plugins.enabled已设置为“ false”。因此,无需触摸。在dom.ipc.plugins.timeoutSecs这里也并不重要,其它的值都是假的。

希望对您有所帮助。


0

我有同样的事情,杀死了Windows Defender,现在我很好。祝您好运。



0

使用Sysinternal的Process Explorer

然后,找到哪个SVCHOST服务在没有任何父项的情况下运行,因为每个服务都svchost.exe必须由加载services.exe。杀死所有被发现的人。(您可以通过双击>>“图像”选项卡>>“父项”标签来找出该进程的父项。)

此外,如果您获得的病毒与我的相同,则应执行以下步骤。

检查文件夹Watermark.exe下是否有命名的进程..\Program Files\Microsoft。然后删除它。(您也最好使用其Security选项卡锁定该文件夹。)

Watermark.exe正在向VBScripts每个.html文件中注入代码。然后这些被感染的.html文件被注入SVCHOST.EXE。因此,.html通过使用一些文本编辑器打开来检查来自不同位置的一些文件。*不要跑*。如果您VBScript在文件底部找到代码,则情况比我们希望的要糟。

因此,如果也发生这种情况,则最好清除所有.html文件(或)从每个.html文件中删除代码。

在清理.html文件后,在这种情况下,对于我来说,我肯定会SVCHOST.EXE通过使用Recovery Consolefrom boot 替换了Windows XP安装CD中的CD 。



0

一个简单的方法,我在Windows 7用于查找所有的服务都在特定下运行的Svchost.exeWindows任务管理器右键单击的svchost.exe,并选择转到服务(S)从列表中选择。这将转到“服务”选项卡,并突出显示在所选svchost.exe下运行的所有服务。

命令提示符中的类似选项将运行,

tasklist /svc

希望能帮助到你!


-1

可能是由svchost进程之一运行的“ Power”服务,导致CPU使用率很高。尝试将节电模式从“平衡”(默认)更改为“性能”,并将睡眠模式设置为“从不”。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.