Windowsサービスのスタートアップの種類で「遅延開始」は何をしますか?


78

Windowsサービスのプロパティ設定の自動と自動(遅延開始)の違いは何ですか?すなわち、サービスをどちらか一方に設定することで何が得られるか、または失われますか?

Windows Server 2008 x64でのサービスの実行



スタックオーバーフローに関連する詳細な回答:「自動」と「自動(遅延開始)」
Bacco

回答:


91

自動としてマークされたサービス(遅延開始)は、自動として指定された他のすべてのサービスが開始された直後に開始されます。私の経験では、これはコンピューターが起動してから1〜2分後に開始されることを意味します。

この設定は、マシンの起動時にリソースの「狂ったラッシュ」を減らすのに最も役立ちます。

20のサービスがすべて同時に開始されると、マシンの貴重なリソース(CPU / RAM /ディスク/ネットワーク)のスライスを求めて他のサービスと競合するため、各サービスの起動が遅くなることに注意してください。つまり、各サービスが利用可能になるまでに時間がかかります!

重要なサービスがいくつかある場合は、それらのサービスを自動に設定し、他のサービスをできるだけ多く自動(遅延開始)に設定することができます。これにより、重要なサービスが最も多くのリソースを早期に取得してより早く利用できるようになり、重要でないサービスは少し遅れて開始されます(定義上は問題ありません)。


39
実際、非遅延開始サービスを処理した後、デフォルトの遅延が120秒のワーカースレッドをキューに入れます。これは、のAutoStartDelay値によってオーバーライドできますHKLM\SYSTEM\CurrentControlSet\Control。この動作中のスレッドが実行されると、Delayed Startサービスが処理され、それらが完了すると、SCMがイベント\ BaseNamedObjects \ SC_AutoStartCompleteを通知します...
Tamara Wijsman

7
@TomWijsmanに加えて、明らかにforを追加することで、サービスごとに遅延を設定できます。DWORDHKLM\SYSTEM\CurrentControlSet\services\<service name>\AutoStartDelay
-Stajs

8

私の理解では、それはサービスを開始する前の単なる遅延です。

後のバージョンのWindowsでは、ブートプロセス中に互いの足をつまずかないようにするためにこれを導入しました(同時に起動するプロセスが膨大な数になると、パフォーマンスが低下します)。

この機能のドキュメントには、このようにマークされたサービスは「ブート後すぐ」に起動されることが記載されています。できれば、起動に必要なサービスが少し落ち着いたら。


0

以下に例を示します。MySQLデータベースサービスに依存するSonarQubeサービスがあります。そこで、MySQLサービスを自動に設定して、マシンの起動時にデータベースを稼働させます。SonarQubeサービスを自動(遅延)開始に設定して、依存するデータベースサービスが開始された後に開始されるようにします。

このような依存関係がある場合は、遅延開始を使用して、依存サービスが正しい順序で起動することを確認すると役立ちます。


8
このような依存関係がある場合、それを処理する正しい方法は、数分待ってサービスが開始されることを期待するのではなく、サービスを他のサービスに依存するように明示的に構成することです。
マッシモ

ありがとう。おそらくあなたはそれを行う方法を説明できますか?そして、それが機能する場合、それは正しいようです。たぶんあなたがお勧めするのは「良い」です。
ラスジャクソン

1
こちらをご覧ください:serverfault.com/questions/24821/…
マッシモ

0

これは、SCMIクライアントなど、他のサービスを完全に開始できるようにサービスの開始を遅らせる場合にも使用されます。SCCMクライアントは、WMIサービスが完全に起動していることに依存して完全に開始できるように遅延開始しますと実行しています。


このような要件は、サービス作成者側の過失の兆候であることに注意してください。このような問題を解決する正しい方法は、明示的なサービス依存関係を使用することです。
ブライアン

0

これは主に、ADアカウントで始まるサービスに使用されます。サーバーがDCに接続するためのネットワーク接続を確立する前にサービスを開始しようとすると、サービスが失敗し、システムがスタックして到達不能になることがあります。

この遅延により、ネットワーク接続が確立されると、ADアカウントを使用するためにサービスが開始されます。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.