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

Dja*_*rdt 10 windows windows-server-2008 service

我只是看着我们的服务器,考虑禁用我们没有使用的任何服务,这让我想知道:

如果一个服务从来没有被任何东西调用来启动,它只是坐在“手动”上,在那种状态下它会占用任何系统资源吗?纯粹从系统资源 POV来看,将未使用的服务设置为“禁用”是否更好?

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

Sky*_*eam 20

manual模式中的服务可以在需要时由 Windows 启动。例如,当另一个服务依赖它时可能就是这种情况。当您将这样的服务(其他人所依赖的)设置为disabled那么依赖于它的服务将无法启动。

manualmode 中的服务只要不被系统启动就不会占用任何资源。

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

所以在强制服务disabled状态时要小心。

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

编辑 1:关于禁用服务的一些附加信息和个人意见:

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

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

该服务本身只使用了几 kB 的内存,与现代机器中的今天内存设备相比,这真是一个笑话。如果您严格禁用您“认为”不需要的所有服务,那么您可能会节省大约 5 秒的启动时间。与必须调试问题时可能遇到的麻烦相比,因为任何应用程序都依赖于您禁用的服务,但此应用程序未提供有意义的错误消息,因此不值得付出努力。我宁愿建议购买一个快速的 SSD;它使启动速度非常快,而不必弄乱服务。

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

所以最重要的是,这些服务和它们的启动是由微软精心挑选的(至少在 Windows 7 中),我真的建议不要乱用它,除非你真的知道你在做什么。

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

如果有人问是否可以禁用特定服务,我很好。那么答案通常是“是的,在某些前提条件下你可以”。但是不能给出可以仅禁用服务的一般建议 - 否则 Microsoft 会在默认情况下禁用该服务。

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