Windows10のPCの動作が重くなった時にタスクマネージャーを確認すると、「サービスホスト: Diagnostic Policy Service」のプロセスのCPU使用率が異常に高くなっているケースがあります。
Diagnostic Policy Serviceが何のプロセスで、停止や無効化できないか疑問に感じる方も多いと思います。
本記事では、Windows10の「Diagnostic Policy Service」の概要とプロセスが重い時の対処法、サービスの無効/有効方法について詳しく紹介します。
この記事の内容
Diagnostic Policy Serviceとは
Diagnostic Policy Service(診断ポリシーサービス)とは、システム上のWindowsコンポーネントの問題を自動的に検出し、トラブルシューティングを行うWindows標準のサービスです。
Windowsコンポーネントの問題を検出すると自動で修正処理を実行するか、問題の診断情報をログとして保存してユーザーに通知します。
このサービスは、サービスホスト(svchost.exe)のプロセスとしてWindowsの起動と同時に自動的に実行されます。
Diagnostic Policy Serviceを無効化すると問題が自動で修復されなきなり、診断情報を受け取ることができなくなります。基本的には有効にしておくことを推奨するサービスですが、無効にしてもWindowsの動作に支障は起きません。
Diagnostic Policy Serviceが重い時の対処法
Windowsの動作が重い時にタスクマネージャーを確認するとDiagnostic Policy ServiceプロセスのCPU負担が異常に高いケースがあります。
通常であれば、ある程度時間が経過するとCPU使用率は落ち着きます。しかし、プロセスの負担が高い状態のままの場合は、次の対処方法を試してみてください。
対処1: Diagnostic Policy Serviceを終了する
Diagnostic Policy Serviceのプロセスに一時的な問題が起きて、CPU使用率が高いケースが考えられます。
そのため、まずはタスクマネージャーでDiagnostic Policy Serviceのプロセスを強制終了してください。プロセスを強制終了するには次の手順で操作します。
- 「Windowsマーク」を右クリックして「タスクマネージャー」を選択します。
- タスクマネージャーが起動したら、「プロセス」タブを開いていることを確認します。
- 簡易表示の場合は、左下の「詳細」をクリックしてください。
- Windowsプロセスの一覧から「サービスホスト: Diagnostic Policy Service」を右クリックして「タスクの終了」を選択します。
- 確認メッセージが表示されたら「保存していないデータをすべて破棄してシャットダウンします」にチェックを入れて「シャットダウン」をクリックします。
以上でDiagnostic Policy Serviceのプロセスを強制終了することができます。
Diagnostic Policy Serviceのプロセスを強制終了すると数秒後に自動的に再起動します。タスクマネージャーを確認してCPU使用率が下がったことを確認してください。
プロセスの再起動後に再度CPU使用率が高くなる場合は、次の対処方法を試してください。
対処2: Diagnostic Policy Serviceのサービスを停止する
Diagnostic Policy Serviceのプロセスの強制終了で問題が解決しない場合は、サービスの停止を試してみてください。
Diagnostic Policy Serviceのサービスを停止するには、次の手順で操作します。
- 「Windowsマーク」を右クリックして「ファイル名を指定して実行」を選択します。
- 「services.msc」と入力して「OK」をクリックします。
- 「サービス」ウィンドウが開いたら、サービスの一覧から「Diagnostic Policy Service」を右クリックして「停止」を選択します。
サービスを停止できたら、CPU使用率が下がったことを確認してください。
PCの再起動を行うとDiagnostic Policy Serviceは自動で起動します。PC再起動後にプロセスの負担が再度高くなる場合は、次の対処を試してください。
対処3: SRUDB.datを削除する
Diagnostic Policy Serviceの関連ファイルに問題が起きていることが原因で、プロセスのCPU使用率が高くなるケースがあります。
そのため、関連ファイルである「SRUDB.dat」を削除することで問題が解決する可能性があります。関連ファイルを削除するには、次の手順で操作します。
- 「Windowsマーク」を右クリックして「ファイル名を指定して実行」を開きます。
- 「%WinDir%\System32\sru」と入力して「OK」をクリックします。
- アクセス権限のダイアログが表示されたら「続行」をクリックします。
- 「SRUDB.dat」を右クリックして「削除」します。
- 削除する際に操作を拒否された場合は、『対処2: Diagnostic Policy Serviceのサービスを停止する』の方法でサービスを停止してから削除してください。
Diagnostic Policy Serviceの関連ファイルを削除できたら、サービスもしくはPCを再起動してプロセスの負担が解決したか確認してください。
Diagnostic Policy Serviceを無効/有効にする方法
Diagnostic Policy Serviceは、設定を変更してサービス自体を無効/有効に切り替えることができます。
そのため、Diagnostic Policy ServiceのCPU負担の問題が解決しない場合は無効にすることを検討してください。サービスを無効にした場合でも簡単に有効に戻すことができます。
Diagnostic Policy Serviceの有効/無効を切り替えるには、次のいずれかの方法で設定を行います。
方法1: サービスの設定を変更する
Diagnostic Policy Serviceは、「サービス」ウィンドウから機能の無効/有効を切り替えることができます。
「サービス」ウィンドウでサービスの設定を変更するには、次の手順で操作します。
- 「Windowsマーク」を右クリックして「ファイル名を指定して実行」を選択します。
- 「services.msc」と入力して「OK」をクリックします。
- 「サービス」ウィンドウが開いたら、サービス一覧から「Diagnostic Policy Service」を右クリックして「プロパティ」を選択します。
- 「スタートアップの種類」のセレクトボックスをクリックして「無効」を選択します。
- サービスを有効化する場合は、「自動」を選択してください。
- 「OK」をクリックして設定を保存します。
- PCを再起動して設定を反映します。
以上の手順で、Diagnostic Policy Serviceの無効/有効の設定を変更することができます。
方法2: システム構成から有効化/無効化する
システム構成からDiagnostic Policy Serviceの有効/無効の設定を切り替えることもできます。具体的な手順は以下のとおりです。
- Windows + Rを押して「ファイル名を指定して実行」を開きます。
- 「msconfig」と入力してEnterを押し、「システム構成」を起動します。
- 「サービス」タブをクリックします。
- サービスの一覧で「Diagnostic Policy Service」のチェックを外して無効化します。
- サービスを有効化する場合はチェックを入れます。
- 「OK」をクリックします。
- 再起動を求められたらPCを再起動します。
PCを再起動すると、Diagnostic Policy Serviceの設定が反映されます。
方法3: レジストリエディタで設定を変更する
レジストリエディタを編集してDiagnostic Policy Serviceの有効/無効の設定を変更することもできます。
レジストリエディタで設定を変更するには次の手順で操作します。
- 「Windowsマーク」を右クリックして「ファイル名を指定して実行」を選択します。
- 「regedit」と入力して「OK」をクリックします。
- 「レジストリエディタ」が起動したら、左ペインのツリーを展開して以下のレジストリキーにアクセスします。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DPS
- 「DPS」キーを選択した状態で、右ペインで「Start」の値をダブルクリックします。
- 値のデータを「4」に変更して無効化し「OK」をクリックします。
- サービスを有効化する場合は「2」に変更します。
- PCを再起動してレジストリの設定を反映します。
PCが再起動できたら、Diagnostic Policy Serviceの設定が反映されたことを確認してください。