Windows服务的属性设置的自动和自动(延迟启动)之间有什么区别?也就是说,通过将我的服务设置为一项或另一项,我会获得或失去什么?
在Windows Server 2008 x64上运行服务
Windows服务的属性设置的自动和自动(延迟启动)之间有什么区别?也就是说,通过将我的服务设置为一项或另一项,我会获得或失去什么?
在Windows Server 2008 x64上运行服务
Answers:
标记为“ 自动(延迟启动)”的服务将在所有其他指定为“ 自动”的服务启动后不久启动。以我的经验,这意味着它们是在计算机启动后1-2分钟启动的。
该设置对于减少机器启动时对资源的“疯狂抢购”最为有用。
请注意,当您同时启动20个服务时,每个服务的启动速度都会变慢,因为它们与其他服务竞争机器的宝贵资源(CPU / RAM /磁盘/网络)。也就是说,每种服务需要更长的时间才能获得!
如果您有一些至关重要的服务,则可能需要将这些服务设置为Automatic,然后将其他服务设置为Automatic(延迟启动)。这将确保关键服务尽早获得最多的资源,并尽快获得可用,而非关键服务则稍后启动(按定义可以)。
HKLM\SYSTEM\CurrentControlSet\Control
。当此工作线程运行时,将处理延迟启动服务,并在完成延迟后,SCM会发出信号\ BaseNamedObjects \ SC_AutoStartComplete ...
据我了解,启动该服务只是一个延迟。
Windows的更高版本引入了此功能,以确保它们在引导过程中不会彼此绊倒(同时启动大量的过程不利于性能)。
该功能的文档指出,标记为“服务”的服务将在“启动后不久”启动,希望一旦启动时所需的服务稳定下来。
这是一个例子。我有一个SonarQube服务,该服务取决于我的MySQL数据库服务。因此,我将MySQL服务设置为自动,以便在计算机启动时启动并运行数据库。我已将SonarQube服务设置为自动(延迟)启动,以确保在启动它依赖的数据库服务之后启动。
如果您有这样的依赖性,则使用延迟启动来确保依赖性服务以正确的顺序启动会很有帮助。