Windows サービス マネージャーを使用すると、Windows サービスの開始を遅らせることができます。Windows の起動時間を改善します。システム サービスの自動 (遅延開始) オプションは Windows Vista で導入され、Windows 11/10 ではすべてのサービスをカバーするように拡張されました。
自動(遅延開始)の意味
Windows サービス通常、コンピュータの起動時に起動され、シャットダウンされるまでバックグラウンドで静かに実行されるアプリケーションです。
一部の古いコンピュータでは、コンピュータを適切に起動するために特定の Windows サービスの読み込みを遅らせる必要がある場合があります。また、他のサービスが開始される前に、特定のサービスが開始されていて、トラブルシューティングの目的で利用できることを確認したい場合もあります。ここで、自動 (遅延開始) オプションが役に立ちます。
これはどのように作動しますか?マイクロソフトは次のように説明しています。
サービス コントロール マネージャーは、すべての自動開始スレッドの開始が完了した後に、遅延自動開始用に構成されたサービスを開始します。また、サービス コントロール マネージャーは、これらの遅延サービスの初期スレッドの優先順位を THREAD_PRIORITY_LOWEST に設定します。これにより、スレッドによって実行されるすべてのディスク I/O の優先順位が非常に低くなります。サービスの初期化が完了すると、サービス コントロール マネージャーによって優先度が通常に戻されます。遅延開始、低い CPU とメモリの優先順位、およびバックグラウンド ディスクの優先順位の組み合わせにより、ユーザーのログオンへの干渉が大幅に軽減されます。バックグラウンド インテリジェント転送サービス (BITS)、Windows Update クライアント、Windows Media Center などの多くの Windows サービスは、この新しい開始の種類を使用して、システム起動後のログオン パフォーマンスを向上させます。
特定の Windows サービスの読み込みを遅延する
サービスの読み込みを遅らせるには、次のコマンドを実行します。サービス。mscをクリックして、サービス マネージャーを開きます。サービスを選択し、ダブルクリックして [プロパティ] ボックスを開きます。
[スタートアップの種類] のドロップダウン メニューに 4 つのオプションが表示されます。
- 自動、
- 自動(遅延開始)、
- マニュアルと、
- 無効。
[自動 (遅延開始)] オプションを使用すると、[自動] に設定されている他のサービスが読み込まれた後でのみ、Windows がそのようなサービスを読み込むことができます。したがって、このような遅延サービスは、すべての自動サービスが開始されるまで開始を待つ必要があります。
デフォルトの遅延時間は 120 秒です。しかし、これは、自動開始遅延次のレジストリ キーの値:
HKLM\SYSTEM\CurrentControlSet\Control
自動非遅延サービスを処理した後、Windows は遅延サービスを実行するためにワーカー スレッドをキューに入れます。
コンピュータのパフォーマンスとセキュリティを損なうことがない限り、サービスの開始をむやみに遅らせないでください。また、サービスの開始を決して変更しないでください。スタートアップの種類セキュリティ ソフトウェアのサービスの自動に自動 (遅延開始)。
KB193888 には、プログラムで、次のレジストリ キーの値を変更することでこれを行う方法が記載されています。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\<Service name>
KB 記事はすべての Windows バージョンで機能します。
読む: とは何ですか自動(トリガースタート)および手動(トリガースタート)Windows サービスのことを意味しますか?
Windows サービスのタイムアウトを増やすにはどうすればよいですか?
Windows サービスのタイムアウトを増やすには、レジストリ キー「ServicesPipeTimeout」を変更します。に移動しますHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control
。この DWORD 値を作成または変更し、ミリ秒単位で設定します (たとえば、50 秒なら 50000)。
Windows サービスを特定の時間に実行するようにスケジュールするにはどうすればよいですか?
Windows サービスを特定の時間に実行するようにスケジュールするには、タスク スケジューラを使用します。タスク スケジューラを開き、新しい基本タスクを作成し、希望の時間にトリガーを設定します。 「プログラムの開始」を選択し、パスを入力します。net start [ServiceName]
、置き換える[ServiceName]
サービスの名前を付けます。タスクを保存して終了します。