Was ist der Unterschied zwischen Automatisch und Automatisch (verzögerter Start) für eine Eigenschaftseinstellung für einen Windows-Dienst? dh was gewinne oder verliere ich, wenn ich meinen Dienst als den einen oder anderen einstelle?
Ausführen des Dienstes unter Windows Server 2008 x64
Antworten:
Ein als Automatisch gekennzeichneter Dienst (verzögerter Start) wird kurz nach dem Start aller anderen als Automatisch gekennzeichneten Dienste gestartet. Nach meiner Erfahrung bedeutet dies, dass sie 1-2 Minuten nach dem Start des Computers gestartet werden.
Diese Einstellung ist am nützlichsten, um den "Wahnsinn" für Ressourcen beim Hochfahren einer Maschine zu verringern.
Beachten Sie, dass bei 20 Diensten, die alle gleichzeitig gestartet werden, jeder langsamer startet, da er mit den anderen um die wertvollen Ressourcen des Computers konkurriert (CPU / RAM / Festplatte / Netzwerk). Das heißt, es dauert länger, bis jeder Dienst verfügbar ist!
Wenn Sie einige wichtige Dienste haben, können Sie diese auf Automatisch setzen und so viele andere wie möglich auf Automatisch (verzögerter Start) . Dies stellt sicher, dass die kritischen Services frühzeitig die meisten Ressourcen erhalten und früher verfügbar sind, während die nicht kritischen Services etwas später starten (was per Definition in Ordnung ist).
quelle
HKLM\SYSTEM\CurrentControlSet\Control
. Wenn dieser bearbeitete Thread ausgeführt wird, werden die Dienste für verzögerten Start behandelt, und wenn sie ausgeführt werden, signalisiert der SCM das Ereignis \ BaseNamedObjects \ SC_AutoStartComplete ...DWORD
für hinzufügenHKLM\SYSTEM\CurrentControlSet\services\<service name>\AutoStartDelay
.Nach meinem Verständnis dauert es nur eine Weile, bis der Dienst gestartet wird.
In neueren Versionen von Windows wurde dies eingeführt, um sicherzustellen, dass sie während des Startvorgangs nicht über die Füße stolpern (ein zeitgleicher Start von mehreren Millionen Prozessen wirkt sich nicht nachteilig auf die Leistung aus).
In der Dokumentation zu dieser Funktion wird angegeben, dass die so gekennzeichneten Dienste "kurz nach dem Start" gestartet werden, hoffentlich nachdem sich die für die Startzeit erforderlichen Dienste etwas beruhigt haben.
quelle
Hier ist ein Beispiel. Ich habe einen SonarQube-Dienst, der von meinem MySQL-Datenbankdienst abhängt. Deshalb habe ich den MySQL-Dienst auf "Automatisch" gesetzt, damit die Datenbank beim Booten des Computers betriebsbereit ist. Ich habe den SonarQube-Dienst auf den automatischen (verzögerten) Start eingestellt, um sicherzustellen, dass er nach dem Start des Datenbankdienstes, von dem er abhängt, gestartet wird.
Wenn Sie eine solche Abhängigkeit haben, kann es hilfreich sein, den verzögerten Start zu verwenden, um sicherzustellen, dass abhängige Dienste in der richtigen Reihenfolge gestartet werden.
quelle
Dies wird auch verwendet, wenn Sie den Start eines Dienstes verzögern möchten, damit andere Dienste vollständig gestartet werden können, z. B. der SCCM-Client, der einen verzögerten Start ausführt, damit der WMI-Dienst vollständig gestartet werden kann, da er davon abhängig ist, dass er vollständig ausgeführt wird und läuft.
quelle
Dies wird hauptsächlich für Dienste verwendet, die mit AD-Konten beginnen. Wenn der Dienst versucht, zu starten, bevor der Server eine Netzwerkverbindung zum DC hat, schlägt dies fehl und manchmal bleibt das System hängen und ist nicht mehr erreichbar.
Die Verzögerung stellt sicher, dass der Dienst gestartet wird, sobald die Netzwerkverbindung hergestellt ist, um das AD-Konto dafür zu verwenden.
quelle