web-dev-qa-db-ja.com

Windowsサービスのスタートアップの種類で「遅延起動」は何をするのですか?

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

Windows Server 2008 x 64でサービスを実行する

73
Guy

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

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

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

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

90
CoreTech

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

Windowsの最近のバージョンでは、ブートプロセス中に互いの足を越えて移動しないようにするためにこれが導入されました(同時に起動するGazillionプロセスを持つことはパフォーマンスを助長しません)。

この機能のドキュメントには、このようにマークされたサービスは「起動直後に」起動されることが述べられています。起動時間が必要なサービスが少し落ち着いたら、うまくいけば。

8
user53528

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

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

0
No_Name

これが一例です。私のMySQLデータベースサービスに依存するSonarQubeサービスを持っています。そこで、私はMySQLサービスを自動に設定して、マシンが起動したときにデータベースを稼働状態にします。依存しているデータベースサービスが開始された後に確実に開始されるように、SonarQubeサービスを自動(遅延)開始に設定しています。

このような依存関係がある場合は、遅延起動を使用して依存サービスが正しい順序で起動するようにすると便利です。

0
Russ Jackson

SCCM Clientのようにサービスの開始を遅らせてWMIサービスを完全に開始できるようにする場合にも、これは使用されます。完全に稼働しているかどうかに依存します。

0
John Dean