Windows を使っていると、タスクマネージャーやイベントビューアーで DoSvc という名前を見かけることがあります。
- 何をしているサービスなの?
- ネットワークをたくさん使っていない?
- 停止しても大丈夫?
こう感じて不安になる方も多いと思います。
結論から言うと、DoSvc は Windows Update をスムーズに行うための仕組みで、止めるべきものではありません。
この記事では DoSvc について、「細かい仕組みは気にしないけど、何をしているかは知っておきたい」という方向けに、できるだけ噛み砕いて説明します。
DoSvc は何をしているサービス?
DoSvc(Delivery Optimization Service)は、Windows の更新ファイルを、なるべく効率よくダウンロードするための仕組みです。
Windows Update では、セキュリティ更新や機能更新といった、容量の大きなデータが配布されることがあります。
また、少量のデータであっても、企業のように数百・数千の Windows 環境を運用している環境で一斉に更新がかかると、ネットワークの帯域に負荷がかかってしまいます。
DoSvc は、これらを回線に無理をかけずなるべく速く、かつ失敗しにくく受け取るために動作するバックグラウンド サービスです。
なぜ最適化が必要?
Windows Update は、世界中の PC が同時に利用します。
もし全員が同じサーバーから一気にダウンロードすると、
- 通信が遅くなる
- 更新が失敗しやすくなる
といった問題が起きます。
DoSvc はこれを防ぐために、Microsoft のサーバーやネットワーク状況などを見ながら、最も効率の良い方法で更新を受け取るように調整しています。
その結果として、通信が一時的に増えて見えることがあります。
DoSvc の停止や通信料が気になる場合について
サービスを停止してもよいかどうかという判断基準は以下の記事にまとめています。
しかしながら、この DoSvc については、Microsoft から公開されている Windows Server 2016 のサービス一覧に記載がありません。
そのため別の方法で判断をしていく必要があります。
結論から述べますと、筆者としては DoSvc の停止はお勧めしません。
詳細については以下の記事をご参照ください。
DoSvc のメモリリークに関して
昨今、巷では DoSvc のメモリリークが話題になっているようです。
正直なところ筆者は同現象に遭遇していないので対処について明確なことは伝えられません。
また、Microsoft からもメモリリークとして認められている情報は現時点では確認できていません。
しかしながら、メモリリークが仮に発生した場合には、Windows Update の完了を待つか、Windows 自体の再起動を行うことが一般的な対処法になるかと思います。
一方で Windows の再起動ができない環境が存在する場合、管理者の判断でサービスを再起動するという選択肢が取られることもあります。 以下は参考情報としての手順です。
(管理者向け) サービスの再起動方法
タスク マネージャーを起動して "サービス" タブを開くと [サービスを開く] というところがあるので、そこをクリックすると開くことができます。


その後、Delivery Optimization を右クリックし、[再起動] をクリックします。

まとめ
これまでの内容をまとめると、以下のような内容となります。
- DoSvc は Windows Update を支える重要なサービス
- 「危険なサービス」ではない
- サービスの停止は推奨しない
- 止めるのではなく、設定で調整するのが正解
- メモリ使用量が気になる場合は、まず Windows の再起動を検討
DoSvc は普段 Windows を使う上では馴染みのないサービスですが、Windows を安全・快適に使うためには欠かせない仕組みのひとつです。
「見慣れない名前=悪いもの」と考えず、役割を知った上で付き合うサービスとして理解しておくと知っておくだけでも、不必要な不安を減らすことができます。
これいろんなサービスでシリーズ化したら需要ありそうかな?