Консоль служб (services.msc
) в Windows позволяет настроить тип запуска служб Windows. Как вы знаете, вы можете выбрать один из вариантов из выпадающего списка: Автоматический (отложенный запуск), автоматическая, Руководство по эксплуатации, или инвалид.
Но знаете ли вы, в чем разница между автоматическим и автоматическим (отложенный запуск).
Автоматический против автоматического (отложенный запуск) Типы запуска
Если запуск службы установлен на автоматическая, он загружается во время загрузки. Поскольку существует слишком много встроенных служб Windows, Microsoft впервые представила концепцию «отложенного запуска» в Windows Vista для повышения производительности загрузки и входа в систему Windows. Автоматические службы (с отложенным запуском) не будут запускаться до тех пор, пока не будут запущены все другие службы автоматического запуска
Диспетчер управления службами после обработки служб автозапуска («Автоматически») затем переходит к запуску служб, которые настроены на автоматический запуск (отложенный запуск), вызывая ScInitDelayStart()
функция.
После загрузки всех служб автоматического запуска система ставит службы «отложенного запуска» в очередь на 2 минуты (120 секунд) по умолчанию. Этот интервал можно изменить, создав 32-разрядное значение реестра DWORD с именем AutoStartDelay
и установите задержку (основание: десятичное число) в секундах в следующем разделе реестра:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control
Кроме этого, диспетчер управления службами загружает службы «отложенного запуска» так же, как он запускает службы без задержки с автоматическим запуском. Других различий между типами автоматического (отложенного запуска) и автоматического запуска нет.
Цитирование блога Microsoft Performance Team: процессы запуска и отложенный автоматический запуск
Задержка автоматического запуска для системных служб. Чтобы решить проблему растущего числа сервисов, настроенных на автоматический запуск, и последующего негативного влияния на производительность загрузки, существует новый тип запуска для сервисов, которым не нужно запускаться в начале процесса загрузки, — отложенный запуск. Это позволяет службе автоматически запускаться, но с дополнительным преимуществом улучшается производительность загрузки. Службы, для которых установлено значение Delayed, запустятся вскоре после загрузки.
Так как же это работает? Диспетчер управления службами запускает службы, настроенные для отложенного автоматического запуска после завершения всех потоков автоматического запуска. Диспетчер управления службами также устанавливает приоритет начального потока для этих отложенных служб как THREAD_PRIORITY_LOWEST. Это приводит к тому, что весь дисковый ввод-вывод, выполняемый потоком, имеет очень низкий приоритет. Как только служба завершает инициализацию, приоритет возвращается на нормальный уровень с помощью диспетчера управления службами. Сочетание отложенного запуска, низкого приоритета ЦП и памяти, а также приоритета фонового диска значительно уменьшает помехи при входе пользователя в систему.
Многие службы Windows, включая фоновую интеллектуальную службу передачи (BITS), клиент Центра обновления Windows и Windows Media Center, используют этот новый тип запуска, чтобы повысить производительность входа в систему после загрузки системы. Чтобы настроить службу для отложенного автоматического запуска, вы можете создать значение REG_DWORD с именем DelayedAutoStart
в разделе реестра конфигурации службы под HKLM\SYSTEM\CurrentControlSet\Services
Значения реестра для типов автоматического и автоматического запуска (с отложенным запуском)
Например, служба оптимизации доставки (DoSvc
) установлен на Автоматический (отложенный запуск) в Windows 10 v1903. Вот значения реестра для этой службы, в которых хранится настройка типа запуска службы:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\DoSvc Value name: DelayedAutostart Value type: REG_DWORD Value data: 1
DelayedAutostart
данные о стоимости 1
означает, что служба настроена на отложенный запуск. Если значение отсутствует или имеет значение 0
, тогда не установлен отложенный запуск.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\DoSvc Value name: Start Value type: REG_DWORD Value data: 2
Для Start
Значение DWORD, возможные данные:
2
Автоматически3
ручной4
выключен