January 27, 2021

Fix Service Host: Diagnostic Policy Service High CPU Usage

As you might be aware, there are a number of active background processes and services that contribute to the smooth functioning of Windows. Most of these background processes/services utilize a minimal amount of CPU power and RAM. Although, sometimes a process may malfunction or be rendered corrupt and end up utilizing way more resources than usual, leaving little for other foreground applications. The Diagnostic Policy Service is one such process notorious for hogging up the system resources on rare occasions.

The Diagnostic Policy Service is one of the shared processes of Svchost.exe (Service Host) and is responsible for detecting problems with various Windows components and also troubleshooting them. The service tries to automatically fix any detected issues if possible and if not, log the diagnostic information for analysis. Since diagnosis and automatic troubleshooting of problems is an important feature for a seamless experience, the Diagnostic Policy Service has been set to automatically start when the computer boots on and stay active in the background. The exact reason behind it consuming more CPU power than intended isn’t known but based on the potential solutions, the culprits may be a corrupt instance of the service, corrupt system files, a virus or malware attack, large event log files, etc.

In this article, we have explained five different methods that will help you bring down the CPU consumption of the Diagnostic Policy Service back to normal.

Diagnostic Service Policy

Fix Service Host: Diagnostic Policy Service High CPU Usage

Potential fixes for Diagnostic Policy Service High CPU Usage

Most users will be able to solve the unusually high disk usage of the Diagnostic Policy Service by simply restarting it. Others might need to perform a few scans (SFC and DISM) to look for corrupt system files or run the built-in performance troubleshooter. Updating to the latest version of Windows and clearing event viewer logs can also resolve the issue. Finally, if nothing seems to work, users have the option to disable the service. However, disabling the Diagnostic Policy Service implies that Windows will no longer carry out auto-diagnosis and resolve errors.

Method 1: End the Process from Task Manager

A process may hog up additional system resources if something prompted a corrupt instance of it. In that case, you can try manually terminating the process (Diagnostic Policy Service here) and then allowing it to automatically restart. All of this can be achieved from the Windows Task Manager (Kill Resource Intensive Processes with Windows Task Manager).

1.  Right-click on the Start menu button and select Task Manager.

Right-click on the Start menu button and select Task Manager | Fix Service Host: Diagnostic Policy Service High CPU

2. Click on More Details to expand Task Manager and have a look at all the currently active processes & services.

Click on More Details to view all background processes

3. Locate the Service Host: Diagnostic Policy Service under Windows processes. Right-click on it and select End task. (You can also select the service by left-click and then click on the End Task button at the bottom right.)

Locate the Service Host Diagnostic Policy Service under Windows processes and right-click on it. Select End task.

The Diagnostic Policy Service will restart automatically, although if it doesn’t, simply restart your computer and check if the issue persists.

Method 2: Run SFC and DISM scan

A recent Windows system update or even an antivirus attack may have corrupted certain system files resulting in high CPU usage of the Diagnostic Policy Service. Fortunately, Windows has built-in utilities to scan for and repair corrupted/missing system files. The first one is the System File Checker utility and as the name suggests, it checks the integrity of all system files and replaces the broken ones with a cached copy. If an SFC scan fails to fix corrupted system files, users can employ the Deployment Image Servicing and Management (DISM) command-line tool.

1. Type Command Prompt in the Windows search bar and click on Run as Administrator in the right panel when search results arrive.

Type Command Prompt in the Cortana search bar | Fix Service Host: Diagnostic Policy Service High CPU

2. Type sfc /scannow in the Command Prompt window and press enter to execute. The scan may take a while so sit back and do not close the window until the verification process reaches 100%.

Type sfc scannow in the Command Prompt window and press enter to execute.

3. After completing the SFC scan, execute the following DISM command. Again, wait patiently for the scan and restoring process to finish before exiting the application. Restart the computer when done.

DISM /Online /Cleanup-Image /RestoreHealth

execute the following DISM command | Fix Service Host: Diagnostic Policy Service High CPU

Also Read: How to Fix High CPU Usage by System Idle Process

Method 3: Update Windows and Run the Performance Troubleshooter

As mentioned earlier, a recent Windows update can also be the culprit behind the abnormal behaviour of the Diagnostic Policy Service. You can try rolling back to the previous update or look for any new updates pushed by Microsoft rectifying the mistake. If you are facing any issues while updating Windows, run the built-in update troubleshooter.

Apart from updating Windows, also run the System Performance troubleshooter to scan for any performance issues and have them fixed automatically.

1. Press the Windows key + I simultaneously to launch the System Settings then click on Update & Security settings.

Press Windows Key + I to open Settings then click on Update & Security

2. On the Windows Update tab, click on Check For Updates. The application will start looking for any available updates and automatically start downloading them. Restart your computer once the new update has been installed.

Check for new updates by clicking on the Check for updates button | Fix Service Host: Diagnostic Policy Service High CPU

3. Check if the Diagnostic Policy Service is still hogging up your system resources and if it is, then run the Update troubleshooter. Open Update & Security settings again and move to the Troubleshoot tab then Click on Additional Troubleshooters.

Go to the Troubleshoot tab and click on Advanced Troubleshooters. | Fix Service Host: Diagnostic Policy Service High CPU

4. Under the Get up and running section, click on Windows Update to view the available options and then click on the ensuing Run the troubleshooter button. Follow the on-screen instructions and go through the troubleshooting process.

To run the System Performance troubleshooter:

1. Type Control Panel in the Start Search bar and press Enter to open the same.

Control Panel | Fix Service Host: Diagnostic Policy Service High CPU

2. Click on Troubleshooting.

Control Panel Troubleshooting | Fix Service Host: Diagnostic Policy Service High CPU

3. Under System and Security, click on the Run maintenance tasks hyperlink.

Run Maintenance tasks

4. On the following window, click on Advanced and check the box next to Apply repairs automatically. Click on Next to run the troubleshooter.

click on Apply Repairs Automatically

Also Read: Fix Desktop Window Manager High CPU (DWM.exe)

Method 4: Clear the Event Viewer log

The Event Viewer program maintains a record of all the application and system error messages, warnings, etc. These event logs can build up to a considerable size and prompt issues for the Service Host process. Simply clearing the logs can help resolve issues with the Diagnostic Policy Service. We recommend you clear the event viewer logs regularly to avoid any future issues.

1. Launch the Run command box by pressing Windows key + R, type eventvwr.msc and click on Ok to open the Event Viewer application.

Type Eventvwr.msc in Run Command box, | Fix Service Host: Diagnostic Policy Service High CPU

2. On the left pane, expand the Windows Logs folder by clicking on the tiny arrow and select Application from the ensuing list.

expand the Windows Logs folder by clicking on the tiny arrow and select Application

3. First, save the current event log by clicking on Save All Events As… on the right pane (by default the file will be saved in .evtx format, save another copy in either .text or .csv format.) and once saved, click on the Clear log… option. In the ensuing pop-up, click on Clear again.

save the current event log by clicking on Save All Events As

4. Repeat the above steps for Security, Setup, and System. Restart the computer after clearing all the event logs.

Also Read: Does Quest Diagnostics Take Walk Ins?

Method 5: Disable the Diagnostic Policy Service and delete SRUDB.dat file

Ultimately, if none of the above methods were able to fix Service Host: Diagnostic Policy Service High CPU usage issue, then you can choose to disable it altogether. There are four different ways via which you can disable the service, the simplest one being from the Services application. Along with disabling, we will also be deleting the SRUDB.dat file which stores all kinds of information regarding the computer (application battery usage, bytes written and read from the hard drive by applications, diagnosis, etc.). The file is created and modified by the diagnostic policy service every few seconds which leads to high disk usage.

1. Type services.msc in the Run command box and click on OK to open the Services application. (There are 8 Ways to Open Windows Services Manager so feel free to make your own choice.)

Type services.msc in the run command box then press enter | Fix Service Host: Diagnostic Policy Service High CPU

2. Make sure all the services are sorted alphabetically (click on the Name column header to do so) and look for the Diagnostic Policy Service then right-click and select Properties.

look for the Diagnostic Policy Service then right-click and select Properties.

3. Under the General Tab, click on the Stop button to terminate the service.

4. Now, expand the Startup type drop-down menu and select Disabled.

expand the Startup type drop-down menu and select Disabled. | Fix Service Host: Diagnostic Policy Service High CPU

5. Click on the Apply button to save the changes and then on OK to close the Properties window.

Click on the Apply button to save the changes

6. Next, double-click on the File Explorer shortcut icon on your desktop to open the same and head down the following address:

C:WINDOWSSystem32sru

7. Find the SRUDB.dat file, right-click on it, and select Delete. Confirm any pop-ups that may appear.

Find the SRUDB.dat file, right-click on it, and select Delete. | Fix Service Host: Diagnostic Policy Service High CPU

If you weren’t successful in disabling the Diagnostic Policy Service from the Services Manager application, try one of the other three methods.

1. From System Configuration: Open System Configuration > Services tab > Uncheck/untick the Diagnostic Policy Service.

Open System Configuration Services tab Uncheckuntick the Diagnostic Policy Service.

2. From Registry Editor: Open Registry Editor and Head down to:

ComputerHKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesDPS

3. Double-click on Start in the right pane then Change Value Data to 4.

Double-click on Start in the right pane then Change Value Data to 4. | Fix Service Host: Diagnostic Policy Service High CPU

4. Restart the computer and Windows will automatically recreate the SRDUB.dat file. The Diagnostic Policy Service should no longer be active and therefore, causing any performance issues.

Recommended:

We hope this guide was helpful and you were able to fix Service Host: Diagnostic Policy Service High CPU usage on Windows 10 computer. A few things you can try to prevent the issue from occurring again in the future are updating all computer drivers and performing regular antivirus scans. You should also uninstall third-party applications that have served their purpose and aren’t required anymore. For any assistance regarding the Diagnostic Policy Service, connect with us in the comments section below.