服务:“手动”和“禁用”之间有什么真正的区别?


10

我只是看着我们的服务器,考虑禁用所有我们不使用的服务,这让我感到奇怪:

提供的服务永远不会被任何人调用,而只是坐在“手动”上,在这种状态下它是否会占用任何系统资源?纯粹从系统资源POV来看,将未使用的服务设置为“已禁用”会更好吗?

只是想知道资源是否真的有差异?(忘记安全问题,这显然是另一个问题。)

Answers:


20

manualWindows可以在需要时以模式启动服务。例如,当另一个服务依赖它时可能就是这种情况。当您将此类服务(其他人依赖)设置disabled为该服务时,依赖该服务的服务将无法启动。

manual只要模式服务不由系统启动,它们就不会占用任何资源。

因此,如果要确保某个特定服务永远不会运行,则可以将其设置为,disabled但要注意,这可能会破坏其他服务或取决于该服务的应用程序。对于某些应用程序,某些服务也是“可选的”。例如,manual在大多数Windows版本中都有设置为“电话”的服务。将其设置为disable似乎对其他服务没有立竿见影的效果,因为大多数人不使用依赖于它的RAS和ICS服务。但是,例如,在禁用服务的情况下,双击电话号码字段时,最新的Outlook版本将不会显示“电话号码助手”。如果您将服务设置为manual您将在此操作之后看到该服务正在运行。每次停止电话服务并使用帮助添加另一个电话号码时,该服务都会自动启动。如果将其设置为禁用,则该帮助将根本不显示(尽管没有错误消息)。

因此,在强制服务disabled状态时要小心。

顺便说一句,那里还有几个很好的网页,详细描述了服务及其推荐状态。检查BlackViper的例子。

编辑1:有关禁用服务的一些其他信息和个人意见:

BlackViper的人员也会列出默认设置。我个人甚至不建议使用“安全”设置,因为这些设置旨在供希望在不破坏系统的情况下尽可能禁用的人使用。

如果确定您永远不需要电话服务,那么您也可以将其保持在“手动”状态,因为它将永远不会启动。关键是您通常永远不会真正知道何时需要特定服务。以电话服务为例,我认为没有人会真正知道电话服务用于在Outlook联系人编辑中显示电话号码输入助手。我也必须努力学习。一旦禁用所有服务,是因为我的思维方式与您完全相同:“尽可能禁用以节省一些系统资源”。然后,当我使用Outlook时,我发现助手无法打开(即使没有任何错误消息),在发现问题之前,我花了大约2个小时寻找错误(包括重新安装Office)。

该服务本身仅使用了几kB的内存,与当今现代机器中的内存设备相比,这真是个玩笑。如果您确实禁用了您“认为”不需要的所有服务,则可能会节省大约5秒钟的启动时间。与必须进行调试(因为任何应用程序都依赖于已禁用的服务,但该应用程序未提供有意义的错误消息)而不得不调试的麻烦相比,这样做不值得。我宁愿建议您购买快速SSD。它使启动真正的速度大大加快,而不必弄乱服务。

我认为您可以手动调整服务启动的唯一部分是RAS服务和类似内容。如今,没有人使用拨号连接了。不需要这些服务。但是,这里某些必需的服务也可能依赖于它们,并且将其中一项服务更改为禁用可能会产生不良的副作用。

因此,最重要的是,这些服务及其启动是由Microsoft选择的(至少在Windows 7中是这样),除非您真正知道自己在做什么,否则我建议不要对其进行改动。

最近,我不得不修理我朋友的PC。他正在使用某种调优工具(嗯,他无法告诉我它是哪一个,并且他已经卸载了它)。该工具实际上禁用了它不需要的所有“思想”服务。结果,在Windows 7上,防火墙,Windows Update或Task Scheduler都没有启动。前两个对每个人都很明显,它是一项重要的服务。许多人认为他们不需要任务计划程序服务,因为他们没有任何计划任务。但这是一个错误的假设。Windows安排了许多后台任务。包括每周的碎片整理和类似的优化任务。因此,几周后,您可能会得到一个比如果Windows在每次启动时启动一个小型调度程序服务时还要慢的系统。

如果有人问是否可以禁用特定服务,我很好。那么答案通常是“是的,在某些前提下可以”。但是一般建议不能提供只能被禁用的服务-否则Microsoft将默认禁用该服务。


1
+1非常好的解释。
Ganesh R.

您建议查看BlackViper以获得有关禁用功能的良好指南...但是您会注意到,在他的“安全”配置中,他经常会将“手动”更改为“禁用”,因为用户永远不会需要这些功能。服务。如果没有获得系统资源,他为什么要这样做?
Django Reinhardt

2
资源收益是将隐式启动的服务不会启动。例如,禁用电话服务将确保您不会因意外致电电话号码助手而启动电话服务。如果您知道自己将永远不需要它,并且想确保它在任何情况下都不会启动,那么这是有道理的。
TheBlastOne

考虑这一点,“禁用”还可能导致其他服务无法启动,因为他们看到依赖的服务无法启动。如果他们依赖的服务处于“手动”启动模式,则他们可能会认为它们可以启动,因为一旦需要它们,便可以启动它们。可能也会造成资源差异。
TheBlastOne

1
@Django Reinhardt:是的,假设系统的其他部分不需要您的“手动”服务,这是正确的。如果有任何要求服务的地方,那就有所不同。在“手动”情况下,该服务将在首次使用时启动,在“禁用”情况下,该服务将拒绝其服务,这当然可能导致意外行为。
2011年
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.