Що робить тип "відкладений старт" для типу запуску для служби Windows?


78

Яка різниця між Автоматичним та Автоматичним (затримка старту) для налаштування властивості для служби Windows? тобто що я отримую чи втрачаю, встановлюючи свою послугу як ту чи іншу?

Запуск служби на Windows Server 2008 x64



Пов’язані з переповненням стеків, детальні відповіді: "Автоматичний" проти "Автоматичний (затримка старту)"
Bacco

Відповіді:


91

Послуга, позначена як Автоматичний (затримка запуску) , запуститься незабаром після запуску всіх інших служб, позначених як Автоматичний . На мій досвід, це означає, що вони починаються через 1-2 хвилини після завантаження комп'ютера.

Цей параметр є найбільш корисним для зменшення "шаленого пориву" ресурсів, коли машина завантажується.

Зауважте, що коли у вас буде запущено 20 сервісів, усі вони запускаються одночасно, кожен запускатиметься повільніше, оскільки конкурує з іншими за фрагменти дорогоцінних ресурсів машини (CPU / RAM / Disk / Network). Тобто, кожна послуга займає більше часу, щоб стати доступною!

Якщо у вас є кілька критично важливих служб, ви можете встановити ці декілька на Автоматичне та встановити стільки ж інших, скільки ви можете на Автоматичний (затримка запуску) . Це забезпечить, що критичні служби отримують найбільше ресурсів раніше та стають доступними раніше, тоді як некритичні служби запускаються трохи пізніше (що за визначенням нормально).


39
Дійсно, після обробки служб не відкладеного запуску вона виведе в чергу робочу нитку, яка має затримку за замовчуванням 120 секунд, яка може бути замінена значенням AutoStartDelay в HKLM\SYSTEM\CurrentControlSet\Control. Коли ця відпрацьована нитка запускається, сервіси затримки запуску обробляються, і коли вони завершені, SCM сигналізує про подію \ BaseNamedObjects \ SC_AutoStartComplete ...
Тамара Війсман

7
Далі до @TomWijsman, очевидно, ви можете встановити затримку на основі обслуговування за допомогою сервісу , додавши DWORDдля HKLM\SYSTEM\CurrentControlSet\services\<service name>\AutoStartDelay.
Stajs

8

Наскільки я розумію, це просто затримка перед запуском послуги.

Пізніші версії Windows ввели це, щоб переконатися, що вони не перетинали ноги один одного під час завантажувального процесу (наявність газільйонних процесів, що запускаються одночасно, не сприяє продуктивності).

В документації на цю функцію вказується, що позначені таким чином послуги будуть запускатися "незабаром після завантаження", сподіваємось, що коли послуги, необхідні для завантаження, трохи відстояли.


0

Ось приклад. У мене є служба SonarQube, яка залежить від моєї служби баз даних MySQL. Отже, я встановив сервіс MySQL автоматичним, щоб запустити та запустити базу даних, коли машина завантажується. У мене сервіс SonarQube встановлений для автоматичного (затримки) запуску, щоб переконатися, що він запускається ПІСЛЯ запуску служби бази даних, від якої залежить.

Якщо у вас є така залежність, це може бути корисно використовувати відкладений старт, щоб переконатися, що залежні служби запускаються в правильному порядку.


8
Якщо у вас є така залежність, правильний спосіб вирішити це - явно налаштувати службу, щоб залежати від іншої, а не чекати пару хвилин і сподіватися, що вона почалася.
Массімо

Дякую. Можливо, ви можете пояснити, як це зробити? І, здається, що якщо це працює, це правильно. Можливо, те, що ти рекомендуєш, - «краще», з чим я б не погодився?
Russ Jackson


0

Це також використовується, коли ви хочете затримати початок послуги, щоб дозволити повністю запустити інші послуги, наприклад, клієнт SCCM, який робить затримку запуску, щоб сервіс WMI запускався повністю, оскільки це залежить від того, як він повністю працює. і біг.


Зауважу, що така вимога є ознакою халатності з боку автора служби. Правильний спосіб вирішити таку проблему - використовувати явну залежність від служби.
Брайан

0

В основному це використовується для послуг, які починаються з облікових записів AD. Якщо сервіс намагається запуститись до того, як сервер підключиться до мережі, щоб зв’язатися з постійним струмом, він вийде з ладу, і іноді система застрягне і стає недоступною.

Затримка гарантує, що послуга почнеться після того, як мережеве з'єднання встановлено, щоб використовувати для цього обліковий запис AD.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.