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.
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.
Fix Service Host: Diagnostic Policy Service High CPU Usage Potential fixes for Diagnostic Policy Service High CPU Usage Method 1: End the Process from Task Manager Method 2: Run SFC and DISM scan Method 3: Update Windows and Run the Performance Troubleshooter Method 4: Clear the Event Viewer log Method 5: Disable the Diagnostic Policy Service and delete SRUDB.dat file
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.
Click on More Details to expand Task Manager and have a look at all the currently active processes & services.
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.)
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.
Type Command Prompt in the Windows search bar and click on Run as Administrator in the right panel when search results arrive.
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%.
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.
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.
Press the Windows key + I simultaneously to launch the System Settings then click on Update & Security settings.
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 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.
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:
Type Control Panel in the Start Search bar and press Enter to open the same.
Click on Troubleshooting.
Under System and Security, click on the Run maintenance tasks hyperlink.
On the following window, click on Advanced and check the box next to Apply repairs automatically. Click on Next to run the troubleshooter.
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.
Launch the Run command box by pressing Windows key + R, type eventvwr.msc and click on Ok to open the Event Viewer application.
On the left pane, expand the Windows Logs folder by clicking on the tiny arrow and select Application from the ensuing list.
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.
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.
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.)
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.
Under the General Tab, click on the Stop button to terminate the service.
Now, expand the Startup type drop-down menu and select Disabled.
Click on the Apply button to save the changes and then on OK to close the Properties window.
Next, double-click on the File Explorer shortcut icon on your desktop to open the same and head down the following address: C:\WINDOWS\System32\sru
Find the SRUDB.dat file, right-click on it, and select Delete. Confirm any pop-ups that may appear.
If you weren’t successful in disabling the Diagnostic Policy Service from the Services Manager application, try one of the other three methods.
From System Configuration: Open System Configuration > Services tab > Uncheck/untick the Diagnostic Policy Service.
From Registry Editor: Open Registry Editor and Head down to:
Double-click on Start in the right pane then Change Value Data to 4.
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:
Fix Service Host: Local System (svchost.exe) High CPU and Disk Usage Fix High CPU Usage by Service Host: Local System How to Repair or Fix Corrupted Hard Drive Using CMD? Fix Windows Audio Device Graph Isolation high CPU usage
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.