Windowsサービスのプロパティ設定の自動と自動(遅延開始)の違いは何ですか?すなわち、サービスをどちらか一方に設定することで何が得られるか、または失われますか?
Windows Server 2008 x64でのサービスの実行
Windowsサービスのプロパティ設定の自動と自動(遅延開始)の違いは何ですか?すなわち、サービスをどちらか一方に設定することで何が得られるか、または失われますか?
Windows Server 2008 x64でのサービスの実行
回答:
自動としてマークされたサービス(遅延開始)は、自動として指定された他のすべてのサービスが開始された直後に開始されます。私の経験では、これはコンピューターが起動してから1〜2分後に開始されることを意味します。
この設定は、マシンの起動時にリソースの「狂ったラッシュ」を減らすのに最も役立ちます。
20のサービスがすべて同時に開始されると、マシンの貴重なリソース(CPU / RAM /ディスク/ネットワーク)のスライスを求めて他のサービスと競合するため、各サービスの起動が遅くなることに注意してください。つまり、各サービスが利用可能になるまでに時間がかかります!
重要なサービスがいくつかある場合は、それらのサービスを自動に設定し、他のサービスをできるだけ多く自動(遅延開始)に設定することができます。これにより、重要なサービスが最も多くのリソースを早期に取得してより早く利用できるようになり、重要でないサービスは少し遅れて開始されます(定義上は問題ありません)。
HKLM\SYSTEM\CurrentControlSet\Control
。この動作中のスレッドが実行されると、Delayed Startサービスが処理され、それらが完了すると、SCMがイベント\ BaseNamedObjects \ SC_AutoStartCompleteを通知します...
DWORD
HKLM\SYSTEM\CurrentControlSet\services\<service name>\AutoStartDelay
私の理解では、それはサービスを開始する前の単なる遅延です。
後のバージョンのWindowsでは、ブートプロセス中に互いの足をつまずかないようにするためにこれを導入しました(同時に起動するプロセスが膨大な数になると、パフォーマンスが低下します)。
この機能のドキュメントには、このようにマークされたサービスは「ブート後すぐ」に起動されることが記載されています。できれば、起動に必要なサービスが少し落ち着いたら。
以下に例を示します。MySQLデータベースサービスに依存するSonarQubeサービスがあります。そこで、MySQLサービスを自動に設定して、マシンの起動時にデータベースを稼働させます。SonarQubeサービスを自動(遅延)開始に設定して、依存するデータベースサービスが開始された後に開始されるようにします。
このような依存関係がある場合は、遅延開始を使用して、依存サービスが正しい順序で起動することを確認すると役立ちます。