The Diagnostic Policy Service, or the DPS, is a troubleshooting service that detects any problem with the Windows component and tries to fix the issues it finds. The Service, when it is running, may take high CPU usage. However, it is a cause for concern if the process constantly uses high CPU resources.
You will see performance drop when the CPU uses most of its resources. This happens because once the CPU reaches high temperature due to maximum usage, the processor lowers its performance to prevent itself from any damage. This means that the CPU will start thermal throttling.
Now, without further delay, let us know more about the Diagnostic Policy Service.
What Is Diagnostic Policy Service?
The Diagnostic Policy Service works like a troubleshooting mechanism that detects and troubleshoots problems that Windows may face. This Service runs in the background and starts detecting any issues with the PC once the system loads OS into the primary memory.
Without Diagnostic Policy Service, Windows cannot detect and fix issues with the OS or the system that may come up.
How To Check Diagnostic Policy Service CPU usage?
When the process runs, it should take ten to fifteen megabytes of memory, and the taskbar should indicate 0% CPU usage. However, it can take more depending on whether it is running. However, you should take necessary measures to remove the DPS service if it takes extreme CPU resources, memory, or disk usage.
Follow the steps mentioned below to check the Diagnostic Policy Service resources in use.
- Press Ctrl + Shift + Esc to open Task Manager.
- Click on More Details if the task manager shows tasks that are currently running.
- Click on the Processes tab.
- Under Windows processes, search for Service Host: Display Policy Service.
Here, you can see all the resources that this process takes. If you see that the Service is taking high CPU, memory, or disk usage, you need to perform the necessary steps to lower them.
What Makes Diagnostic Policy Service Use High CPU Resources?
When the Diagnostic Policy Service tries to fix any issues, it may use high CPU resources. However, it is not a problem unless the process constantly takes an extreme amount of CPU and memory resources.
If this process is taking a lot of CPU usage, here are some possible reasons that might be causing it.
- Corrupted System Files
- Windows not up-to-date
SRUDB.dat
file causing the issue- A problem with the Windows Update
How to Fix Diagnostic Policy Service High CPU Usage?
Before we get into the solutions, make sure you wait for a few minutes. As this is a genuine process that may use CPU resources when running, CPU resources may decrease once the process completes.
If it does not, perform the solutions mentioned below to fix Diagnostic Service High CPU Usage.
Disable Service
You have full control over the Windows service that runs in the background. You can choose whether the application runs on startup, start, or stop its process. Therefore, disabling the Diagnostic Policy Service will release any resources that this Service uses.
Here are three different ways you can disable Diagnostic Policy Service. If one does not work, you can try the other methods.
Using Services
Follow the steps mentioned below to disable the Service using Services.
- Press the Windows + R key to open Run.
- Type
services.msc
to open Services. - On the Right Panel, search for Diagnostic Policy Service.
- Double-click on it.
- On the General tab, under Service status, click on stop.
- Now click on Apply.
- If the Service automatically starts again, set Startup Type to Manual.
- Select Apply, then OK.
From System Configuration
If Services does not allow you to disable this process, you can try disabling it from System Configuration.
- Press the Windows + R key to open Run.
- Type
msconfig
to open System Configuration. - Go to the Services tab.
- Uncheck Diagnostic Policy Service.
- Select Apply, then OK.
- Restart your PC to stop Diagnostic Policy Service from running.
From Registry Editor
The Registry in Windows holds all computer settings. And this includes settings like whether a Service starts. Follow the steps mentioned below to disable the Diagnostic Service Policy from Registry Editor.
Before making any changes, make sure to back up the registry.
- Press the Windows + R key to open Run.
- Type
regedit
and press Enter to open Registry Editor. - Navigate to
Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DPS
- On the right panel, double-click on Start.
- Under Value data, set the value to 4.
- Press OK.
- Restart your computer to save the changed settings.
Setting the Value data to 4 will disable the process from starting automatically.
Delete SRUDB DAT File
When Diagnostic Policy Service troubleshoots your system, it creates a log file named SRUDB.dat
that stores all the details about the error and fixes. This file may take a lot of disk space, and accessing them may cause high CPU usage.
You can delete this file to see if it fixes the issue. You do not need to worry, as the Diagnostic Policy Services will automatically create this file once the Service starts.
However, the OS will not let you delete the file if you have Diagnostic Policy Service running in the background. Therefore, you need to stop the Service before you delete the file.
- Open File Explorer and navigate to
C:\Windows\System32\sru.
- Permanently delete the
SRUDB.dat
file.
Change Power Plan
On a laptop, some services may malfunction if some devices’ power mode is not on maximum performance. Try changing this setting to see if the Diagnostic Policy Service uses fewer CPU resources.
- Press the Window + R key to open Run.
- Type
powercfg.cpl
to open Power Options. - Under preferred plans, click on Change plan settings on the selected power plan.
- Click on Change advanced power settings.
- Expand Wireless Adapter Settings and also expand Power Saving Mode.
- Set both On battery and Plugged in as Maximum Performance.
- Click Apply, then OK.
Run SFC and DISM
The SFC (System File Checker) scans and repairs any corrupted system files, whereas the DISM (Deployment Image Servicing and Management) scans and restores the Windows image.
As all the Services files and folders are located inside the system file, running these commands may fix any of its corrupted files that may have been causing the high CPU usage issue.
- Press the Window + R key to open Run.
- Type
cmd
and press Ctrl + Shift + Enter to run the command prompt as administrator. - Type
sfc /scannow
and press Enter. - Once the process completes, type
DISM /Online /Cleanup-Image /RestoreHealth
and press Enter. - Restart your computer and check the CPU usage.
Roll Back/Update Windows
Since the Diagnostic Policy Service is a Windows process and not a process running from a third-party application, it can be that a recent Windows update started the high usage issue. If you have recently updated Windows and you face high CPU usage, you can uninstall the recent Windows Update.
- Press the Windows + I key to open Settings.
- Go to Windows Update (Privacy & security > Windows update for Windows 10) > Update History.
- Scroll down and select Uninstall updates.
- Here you can see all the installed updates.
- Right-click on the latest Windows Updates and select Uninstall.
Clear Event Viewer Log
The event viewer logs any errors and warnings when the system runs into one. When this error log builds up, it may cause issues when the Diagnostic Policy Service tries to access the event log. To fix this, you need to clear the Event Viewer Log.
- Press the Windows + R key to open Run.
- Type
eventvwr.msc
to open the Event Viewer Log. - On the left-most panel, expand Windows Logs and select Application.
- On the right-most panel, click on Save All Events As…
- Now choose a location and file extension to save the event log file.
- Again, on the right-most panel, click on Clear log.
- Select Clear.
Run System Maintenance Troubleshooter
If none of the solutions works, you can try running the system maintenance troubleshooter to detect and fix any issues with the system. Even if it cannot fix the issue, it may be able to determine what’s wrong with the system.
- Press the Windows + R key to open Run.
- Type
msdt.exe -id MaintenanceDiagnostic
to open System Maintenance troubleshooter. - Click on Advanced and select Apply repairs automatically.
- Click on Next.
- Select Try troubleshooting as an administrator.
- Once the process completes, the troubleshooter will fix the issue or give you the reason you face the issue.