Diagnostic Policy Service is there in Windows OS to detect, troubleshoot and resolve issues with Windows Components. When this service is disabled, diagnostics will no longer be functioning. Since this is a background service and is needful for Windows, it is automatically started when you start your system and keeps running.
But sometimes you may notice high CPU usage with Diagnostic Policy Service. This is not desirable for a background service. High CPU usage from a single process makes the system slower to respond other processes and you face lagging problem. Checkout the below shown screenshot which shows high CPU usage from Diagnostic Policy Service.
If you’re also victim of this problem, this article is for you. Try below mentioned suggestions and see if they helps you to fix it:
Page Contents
FIX: Service Host: Diagnostic Policy Service High CPU Usage In Windows 10
FIX 1 – General Suggestions
1. First of all, try ending the task process and let it restart itself. See if high CPU usage occurs from the process now. If this continues, reboot the machine.
2. Run the System File Checker scan or run DISM commands to repair inbox corruption.
3. Try creating new user account and check if the problem persists on that.
4. Make sure you install latest Windows Updates.
5. Run System Performance troubleshooter.
6. Update your machine’s BIOS firmware to latest version.
7. Make sure you’ve latest drivers installed on the system.
FIX 2 – Via File Explorer
1. Press + R and type following in Run dialog box, press Enter key:
%WinDir%\System32\sru
2. In the sru folder so open, locate the SRUDB.dat file and delete it.
Close File Explorer and restart your system.
Checkout this video to illustrate this fix:
Hope this helps!
Also check: Windows Audio Device Graph Isolation High CPU Usage.
41 Comments
Add your comment
I made a batch file which stoppes the service and prompts the user to delete the folder. Then the service is startet again. Just create a text file and insert following code. Then save as .bat file. You need to start the bat as admin though.
nofile.io/f/w2cdg4n8TSZ/fixDPSservice.bat
^^ Thanks for your inputs, much appreciated 😎
So far the problem is gone and the folder even is not created anymore :)
^^ 😊
I cant deleat SRUDB.dat file why?
i set startup to disabled and i go to delete Srudb.data but dosent work?
^^ Try deleting the file from recovery mode Command Prompt.
Mine isn’t that high in cpu but it takes up 2gb of ram, though all still try this
Is it safe to download the file at nofile.io/f/w2cdg4n8TSZ/fixDPSservice.bat? Or should I just create a new text file in the sru folder and insert the text mentioned on the comments in microsoft? (Its basically the same convo between You and Girofox. I just wasnt sure what I should be doing. Create new txt file and inserting; @echo off
echo … Set DPS service start type to manual …
echo.
sc config DPS start= demand
echo.
echo … Find PID of DPS service …
for /f “tokens=2 delims=[:]” %%f in (‘sc queryex dps ^|find /i “PID”‘) do set PID=%%f
echo.
echo … Kill DPS service
echo.
taskkill /f /pid %PID%
echo.
echo … Delete sru Folder …
echo.
rd /s “%windir%\system32\sru”
echo.
echo … Set DPS service start type to auto …
echo.
sc config DPS start= auto
echo.
echo … Start DPS service …
sc start DPS
echo.
pause
Then I, what, save this as a .BAT file and run as administrator? What do I save the filename as once is it .BAT? Is it a better Idea to just download the file at the given link and install that there instead??? Is any of this even neccesary to stop the Service Host from draining too much?? or should I just delete the SRUDB.dat file??
^^ TBH, I haven’t personally tried Girofox’s file, so I can’t comment about it. Using it will be your own desicion. Try the instructions mentioned in the post first.
Thanks this worked for me. I can’t believe what a tortured and twisted hot mess Windows has become.
^^ Glad it helped you 😊
Hi, there. I just wonder what’s behind the issue. I’m using a clean install of latest 1903 x64 build of Windows 10. DPS service continues with high CPU usage and if I just stop it then delete that file and start it, DPS service is still eating the CPU usage.
I ran CMD as administorator and deleted the .log files in “%WinDir%\System32\sru”
That worked for me Thanks
hi, i deleted SRUDB.dat and work,
but if I restart my laptop, that file come again and make my CPU high :(
any solution?
The second way works, thanks)
^^ Glad to help Andrew!
Thanks Fix 2 sorted it for me. Updating Windows delayed it for a few minutes but it came back again.
I did as you instructed, but the problem returned over and over. Then, as I had a 100% disk use in task manager very often, for a long time, looked for a solution, and found: (here I may make some translation mistake since my windows is in Brazilian Portuguese):
In Windows Settings / System go to Notifications and Actions, then disable Show welcome experience after updates …. and Obtain clues, suggestions (something like it).
Did it, and that Service Host did not go to high cpu usage anymore, and no more disk usage got stuck in 100%. It can go to 100%, but is a matter of seconds.
^^ Thanks for adding this!
Anything here worked for me, not even after deleting the entire sru folder. This problem only happens to me after I turn the computer on for the first time in a couple of hours. The issue also resolves itself after I restar windows. But this forces me to restart windows everytime I turn on my computer for the first time in just a couple of hours. Any suggestions?
^^ Suggest you to upgrade to latest Windows 10 version, see if issue still persists.
Didn’t work.Should I disable diagonostic policy service parmanently?
^^ It is upto you. Note that troubleshooters may not work after this.
What if there is no SRU folder inside System32 ? I found another SRU under SysWow64 but there is nothing inside, I guess I’d just disable DPS for now as I cant find any file to delete (I turned on the “show all hidden files” including the OS protected ones, and use dir to check if its really empty).
^^ Please try other suggestions in FIX 1.
I could not get it stopped and so could not delete SRUDB. I just used End Process in task manager and that stopped it and then I deleted the file.
^^ Hope the issue is resolved for you!
Thank you for your article Kapil, it was very helpful in resolving my issue.
^^ Glad to help Alkarim!
So I’ve tried every suggestions here, and it still just keeps popping back up at high cpu. When I end the task, it immediately just comes back 5 seconds later, and the computer runs like crap again
^^ Try this. Open Services snap-in by running services.msc. Locate the Diagnostic Policy Service and try setting it to Disabled. See if it helps!
Thank you for this, just recently got my laptop repaired but the mobo along with the cpu got replaced with a different one from the original, suddenly DSP keep hogging the cpu usage. I was thinking about just disabling the service but deleting that .dat file fixed the high cpu usage.
^^ Glad to help Alif!
I don’t have a sru map, so the SRUDB.DAT is also gone and i can’t find it anywhere.
but service host still starts and takes up ALOT of cpu up to 40% at some times. i tried the system file checker scan and it said that all the corrputed files were fixed and nothing else. What do i do?
[Win 10Pro, 21H1] I know this comment is rather late (Sept 2021), but if you are desperately searching for an answer, as I was, maybe it will help someone. Found plenty of suggestions involving .reg, .bat, delete various files, and so on. Have grown old while fixing Windows for the last 30 years, so I don’t have the patience I once had. Decided to whack \sru\ totally. (And I did a complete backup a few weeks ago.) Deleted the whole thing, all 6GB (!) of it, all thousands and thousands and thousands of 65536 byte .log files along with a few others. And it appears to have worked. Fingers crossed. The sru dir hasn’t even been recreated.
Many thanks to the host of this site, along with thanks to Jon B (above) whose advice to delete .log pushed me to delete everything.
^^ Thanks Bob for sharing this, will be helpful to others!
This helped, thanks! Need to stop the DPS first, so it releases the .dat file
^^ Glad it helped 😎
Wow, 24k+ SRU log files, and a 12.5GB SRUDB.dat. Constant CPU usage by the service.
Thanks for the tip for what to clean up.
^^ You’re most welcome!