В чем разница между автоматическим и автоматическим (отложенный запуск) для параметра свойства для службы Windows? то есть что я получаю или теряю, устанавливая свой сервис как один или другой?
Запуск службы на Windows Server 2008 x64
В чем разница между автоматическим и автоматическим (отложенный запуск) для параметра свойства для службы Windows? то есть что я получаю или теряю, устанавливая свой сервис как один или другой?
Запуск службы на Windows Server 2008 x64
Ответы:
Служба, помеченная как Автоматическая (отложенный запуск) , запустится вскоре после запуска всех других служб, обозначенных как Автоматическая . По моему опыту, это означает, что они запускаются через 1-2 минуты после загрузки компьютера.
Этот параметр наиболее полезен для уменьшения «безумного порыва» ресурсов при загрузке машины.
Обратите внимание, что если у вас одновременно запущено 20 служб, каждая из них будет запускаться медленнее, поскольку она конкурирует с другими за доли ценных ресурсов машины (ЦП / ОЗУ / Диск / Сеть). То есть каждая услуга занимает больше времени, чтобы стать доступной!
Если у вас есть несколько критически важных служб, вы можете установить для этих немногих значение « Автоматически», а для остальных - « Автоматически» (отложенный запуск) . Это гарантирует, что критические службы получают большинство ресурсов раньше и становятся доступными раньше, в то время как некритические службы запускаются немного позже (что по определению нормально).
HKLM\SYSTEM\CurrentControlSet\Control
. Когда этот работающий поток запускается, службы отложенного запуска обрабатываются, и когда они завершаются, SCM сигнализирует событие \ BaseNamedObjects \ SC_AutoStartComplete ...
DWORD
для HKLM\SYSTEM\CurrentControlSet\services\<service name>\AutoStartDelay
.
Насколько я понимаю, это просто задержка перед запуском сервиса.
В более поздних версиях Windows это было введено, чтобы гарантировать, что они не споткнулись о ноги друг друга во время процесса загрузки (одновременный запуск десятка процессов не влияет на производительность).
В документации по этой функции говорится, что службы, отмеченные таким образом, будут запущены «вскоре после загрузки», возможно, после того, как службы, необходимые для загрузки, немного успокоятся.
Вот пример. У меня есть сервис SonarQube, который зависит от моей базы данных MySQL. Итак, я настроил службу MySQL на автоматическое включение и запуск базы данных при загрузке машины. Я установил для службы SonarQube автоматический (отложенный) запуск, чтобы убедиться, что он запускается ПОСЛЕ запуска службы базы данных, от которой он зависит.
Если у вас есть такая зависимость, может быть полезно использовать отложенный запуск, чтобы убедиться, что зависимые службы запускаются в правильном порядке.
Это также используется, когда вы хотите отложить запуск службы, чтобы позволить другим службам полностью запуститься, например, клиент SCCM, который запускает с задержкой, чтобы служба WMI запустилась полностью, поскольку это зависит от ее полного запуска. и работает.
В основном это используется для служб, которые начинаются с учетных записей AD. Если служба пытается запуститься до того, как у сервера будет сетевое соединение для связи с контроллером домена, произойдет сбой, и иногда система застревает и становится недоступной.
Задержка гарантирует, что служба будет запущена после подключения к сети, чтобы использовать для нее учетную запись AD.