svchost是什么进程(svchost占用大量cpu)

如果你曾经浏览过任务管理器,你可能会想知道为什么有这么多服务主机进程(svhost.exe)在运行。你不能结束它们,而且你肯定没有启动它们,那么它们是什么?

什么是服务主机进程

根据微软的说法,答案如下:

Svchost.exe 是从动态链接库 (DLL) 中运行的服务的通用主机进程名称。

但这对我们没有多大帮助。不久前,微软开始将Windows的大部分功能从依赖内部Windows服务(从EXE文件运行)改为使用DLL文件。从编程的角度来看,这使得代码更加可重用,而且可以说更容易跟上最新。问题是,你不能像启动可执行文件那样直接从Windows启动DLL文件。相反,从可执行文件加载的shell用于承载这些DLL服务。于是,服务主机进程(svchost.exe)诞生了。

为什么有这么多服务主机进程在运行

如果你看过“控制面板”中的“服务”部分,你可能已经注意到Windows需要很多服务。如果每个服务都在一个服务主机进程下运行,那么一个服务中的故障可能会导致整个Windows瘫痪,所以这些进程是分开的。

服务被组织到逻辑组中,这些逻辑组都有一定的相关性,然后创建一个服务主机实例来承载每个组。例如,一个服务主机进程运行与防火墙相关的三个服务。另一个服务主机进程可能运行与用户界面相关的所有服务,以此类推。例如,在下图中,你可以看到一个服务宿主进程运行几个相关的网络服务,而另一个进程运行与远程过程调用相关的服务。

svchost是什么进程(svchost占用大量cpu)

你需要对这么服务主机进程做什么

在Windows XP(和以前的版本)的时代,当个人电脑的资源有限,操作系统也没有得到很好的调整时,通常建议停止Windows运行不必要的服务。现在,我们不建议再禁用服务。现代的个人电脑倾内存和处理器性能都不错,再加上现代版本中处理Windows服务的方式(以及运行的服务)已经简化,停止你认为不需要的服务真的不会有太大影响。

也就是说,如果你注意到服务主机的特定实例或相关服务正在引发问题,如持续过度使用CPU或RAM,你可以查看所涉及的特定服务。这至少可以让你知道从哪里开始进行故障排除。有几种方法可以准确地查看服务主机的特定实例承载的服务。你可以在任务管理器中或使用名为Process Explorer的第三方应用程序进行检查。

检查任务管理器中的相关服务

如果你使用的是Windows 10或Windows 11,进程将按全名显示在任务管理器的“进程”选项卡上。如果一个进程充当多个服务的主机,你可以通过简单地扩展该进程来查看这些服务。这使得识别哪些服务属于服务主机进程的每个实例变得非常容易。

svchost是什么进程(svchost占用大量cpu)

你可以右键单击任何单个服务以停止该服务,在“服务”控制面板应用程序中查看该服务,甚至在线搜索有关该服务的信息。

svchost是什么进程(svchost占用大量cpu)

如果你使用的是Windows7,情况会有所不同。Windows 7任务管理器没有以相同的方式对进程进行分组,也没有显示常规进程名称,它只显示正在运行的“svchost.exe”的所有实例。你必须进行一些探索,以确定与“svchost.exe”的任何特定实例相关的服务。

在Windows 7中任务管理器的“进程”选项卡上,右键单击特定的“svchost.exe”进程,然后选择“转到服务”选项。

svchost是什么进程(svchost占用大量cpu)

这会将你切换到“服务”选项卡,在该选项卡中,将选择在“svchost.exe”进程下运行的所有服务。

svchost是什么进程(svchost占用大量cpu)

然后,你可以在“说明”列中看到每个服务的全名,因此,如果你不希望该服务运行,你可以选择禁用该服务,或者排除它给你带来问题的原因。

使用Process Explorer检查相关服务

作为其Sysinternals系列的一部分,微软还提供了一个出色的高级工具来处理流程。只需下载Process Explorer并运行它,它是一个可移植的应用程序,因此无需安装。Process Explorer提供了各种高级功能。

不过,为了我们在这里的目的,Process Explorer将相关服务分组在“svchost.exe”的每个实例下。它们按文件名列出,但它们的全名也显示在“说明”列中。你还可以将鼠标指针悬停在任何“svchost.exe”进程上,以查看一个弹出窗口,其中包含与该进程相关的所有服务,甚至是当前未运行的服务。

svchost是什么进程(svchost占用大量cpu)

服务主机进程是病毒吗

进程本身是Windows的官方组件。虽然病毒有可能用自己的可执行文件取代了真正的服务主机,但这种可能性很小。如果你想确定,可以检查出进程的底层文件位置。在任务管理器中,右键单击任何服务主机进程,然后选择“打开文件位置”选项。

svchost是什么进程(svchost占用大量cpu)

如果该文件存储在WindowsSystem32文件夹中,则可以相当确定不是病毒。

svchost是什么进程(svchost占用大量cpu)

也就是说,如果你仍然想要多一点安心,你可以随时使用你喜欢的病毒扫描仪扫描病毒。安全总比后悔好!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至2705686032@qq.com 举报,一经查实,本站将立刻删除。原文转载: 原文出处:

(0)
尊云-小张的头像尊云-小张
上一篇 2024 年 6 月 3 日 09:14
下一篇 2024 年 6 月 3 日 09:18

相关推荐

发表回复

登录后才能评论

联系我们

400-900-3935

在线咨询: QQ交谈

邮件:cong@zun.com

工作时间:365天无休服务 24小时在线

添加微信