Co robi „opóźniony start” w typie uruchamiania usługi Windows?

78

Jaka jest różnica między automatycznym a automatycznym (opóźniony start) dla ustawienia właściwości usługi Windows? tj. co zyskuję lub tracę, ustawiając moją usługę jako jedną lub drugą?

Uruchamianie usługi w systemie Windows Server 2008 x64

Chłopak
źródło
Powiązane informacje o przepełnieniu stosu, szczegółowe odpowiedzi: „Automatyczny” vs „Automatyczny (opóźniony start)”
Bacco

Odpowiedzi:

91

Usługa oznaczona jako Automatyczna (Opóźniony start) uruchomi się wkrótce po uruchomieniu wszystkich innych usług oznaczonych jako Automatyczny . Z mojego doświadczenia wynika, że ​​są one uruchamiane 1-2 minuty po uruchomieniu komputera.

To ustawienie jest najbardziej przydatne w zmniejszaniu „szalonego szczytu” zasobów podczas uruchamiania komputera.

Zauważ, że kiedy masz 20 usług uruchamianych jednocześnie, każda z nich uruchomi się wolniej, ponieważ konkuruje z innymi o cenne zasoby komputera (CPU / RAM / Dysk / Sieć). Oznacza to, że każda usługa staje się dostępna dłużej!

Jeśli masz kilka usług o kluczowym znaczeniu, możesz ustawić je na Automatyczne i ustawić jak najwięcej innych na Automatyczne (Opóźniony start) . Zapewni to, że usługi krytyczne uzyskają jak najwięcej zasobów wcześniej i będą dostępne wcześniej, a usługi niekrytyczne uruchomią się nieco później (co z definicji jest w porządku).

CoreTech
źródło
39
Rzeczywiście, po obsłudze usług „bez opóźnionego startu” będzie kolejkować wątek roboczy, który ma domyślne opóźnienie 120 sekund, które można zastąpić wartością AutoStartDelay w HKLM\SYSTEM\CurrentControlSet\Control. Po uruchomieniu tego działającego wątku obsługiwane są usługi opóźnionego startu, a po ich zakończeniu SCM sygnalizuje zdarzenie \ BaseNamedObjects \ SC_AutoStartComplete ...
Tamara Wijsman,
7
Oprócz @TomWijsman możesz najwyraźniej ustawić opóźnienie dla poszczególnych usług , dodając DWORDfor HKLM\SYSTEM\CurrentControlSet\services\<service name>\AutoStartDelay.
Stajs
8

Z mojego zrozumienia wynika, że ​​jest to po prostu opóźnienie przed uruchomieniem usługi.

Późniejsze wersje systemu Windows wprowadziły to, aby upewnić się, że nie potknęły się o siebie podczas procesu rozruchu (jednoczesne uruchamianie procesów gazillionowych nie sprzyja wydajności).

Dokumentacja tej funkcji stwierdza, że ​​oznaczone w ten sposób usługi zostaną uruchomione „wkrótce po rozruchu”, miejmy nadzieję, że usługi wymagające czasu rozruchu nieco się uspokoją.


źródło
0

Oto przykład. Mam usługę SonarQube, która zależy od mojej usługi bazy danych MySQL. Tak więc ustawiłem usługę MySQL na automatyczną, aby baza uruchomiała się po uruchomieniu komputera. Mam ustawioną usługę SonarQube na automatyczne (opóźnione) uruchamianie, aby upewnić się, że uruchomi się PO uruchomieniu usługi bazy danych, od której zależy.

Jeśli masz taką zależność, pomocne może być skorzystanie z opóźnionego startu, aby upewnić się, że usługi zależne uruchamiają się we właściwej kolejności.

Russ Jackson
źródło
8
Jeśli masz taką zależność, poprawnym sposobem jej obsługi jest jawne skonfigurowanie usługi tak, aby była zależna od drugiej, zamiast czekania kilka minut i liczenia na to, że się uruchomiła.
Massimo,
Dzięki. Być może możesz wyjaśnić, jak to zrobić? I wydaje się, że jeśli to działa, jest poprawne. Może to, co polecasz, to „lepsze”, z czym nie mógłbym się nie zgodzić?
Russ Jackson
1
Zobacz tutaj: serverfault.com/questions/24821/… .
Massimo
0

Jest to również używane, gdy chcesz opóźnić uruchomienie usługi, aby umożliwić całkowite uruchomienie innych usług, takich jak SCCM Client, który dokonuje opóźnionego startu, aby umożliwić pełne uruchomienie usługi WMI, ponieważ zależy to od jej pełnego uruchomienia. i bieganie.

John Dean
źródło
Zauważę, że taki wymóg jest oznaką zaniedbania ze strony autora serwisu. Prawidłowym sposobem rozwiązania takiego problemu jest użycie jawnej zależności usługi.
Brian
0

Jest to najczęściej używane w przypadku usług rozpoczynających się od kont AD. Jeśli usługa próbuje się uruchomić, zanim serwer połączy się z siecią, aby skontaktować się z kontrolerem domeny, zakończy się niepowodzeniem, a czasem system zablokuje się i będzie niedostępny.

Opóźnienie zapewnia uruchomienie usługi po nawiązaniu połączenia sieciowego w celu korzystania z konta AD.

Bez nazwy
źródło