Is your Windows 11 machine suddenly sluggish, with the fans spinning loud and the Task Manager revealing that Diagnostic Policy Service is hogging your CPU? You are not alone in this. Thousands of Windows 11 users have encountered this exact scenario, where a seemingly harmless background service becomes a resource hog that makes everything feel frozen. The good news is that the diagnostic policy service high CPU issue in Windows 11 is almost always fixable without a full system reinstall, once you understand what is really happening behind the scenes.
In this updated 2026 guide, we dig deep into how Diagnostic Policy Service works, exactly why it spirals out of control, and step-by-step instructions to restore your system to normal performance. We also cover advanced repair techniques, prevention strategies, and the validation steps you need to confirm the problem is genuinely resolved.
Key Takeaways
- Diagnostic Policy Service (DPS) is a Windows 11 background service that detects, logs, and helps resolve system problems
- High CPU or memory usage from DPS typically stems from a bloated SRUDB.dat file, corrupted WMI repository, or damaged performance counters
- Deleting the SRUDB.dat file and running SFC/DISM repairs fix the vast majority of cases
- Advanced fixes like rebuilding performance counters (lodctr /r), repairing WMI (winmgmt), and resetting the network stack (netsh winsock reset) handle persistent or recurrent issues
- It is generally safe to disable DPS if you do not rely on Windows troubleshooters, but disabling should be a last resort
- Prevention measures like monitoring the SRU folder size and keeping drivers updated stop the problem from returning
Quick Triage: What to Try First
Before diving into detailed troubleshooting, run through this quick checklist. These steps resolve approximately 80% of Diagnostic Policy Service high CPU cases and take under five minutes combined.
- Restart your computer: A simple reboot clears temporary locks on the SRU database and resets service state. This alone fixes many transient spikes.
- Check if the problem persists after restart: Open Task Manager immediately after reboot and monitor DPS CPU for two to three minutes. If usage stays above 5%, the issue is systemic.
- Verify the service is legitimately running: Use Sysinternals Process Explorer to confirm that the svchost.exe process claiming high CPU is actually the real Diagnostic Policy Service and not malware mimicking it. Right-click any suspicious svchost.exe process and select Properties to check the digital signature.
If the problem returns immediately after restart, proceed to the SRUDB.dat deletion method below, followed by the advanced troubleshooting steps if needed.
What Is Diagnostic Policy Service in Windows 11?
The Diagnostic Policy Service (DPS), internally named DPS and hosted inside a Service Host (svchost.exe) process, is a core Windows 11 component that continuously monitors your system for hardware failures, software conflicts, and configuration errors. Think of it as an always-on health sensor that watches for problems and either resolves them automatically or surfaces them through Windows Troubleshooters.
DPS is part of the Windows Diagnostic Infrastructure (WDI) and relies on several supporting components:
- SRU Database (SRUDB.dat): Located in C:WindowsSystem32sru, this database stores all diagnostic events, logs, and scenario data collected by DPS. Over time, this file can grow to several gigabytes, especially on systems with frequent hardware events or driver errors.
- WMI Repository: DPS queries the Windows Management Instrumentation (WMI) repository to gather system state information. If the WMI repository is corrupted, DPS enters a retry loop that consumes heavy CPU.
- Performance Counters: DPS reads from Windows performance counters to assess system health. Damaged counter definitions (often caused by a failed update or registry corruption) cause lodctr /r to fail and trigger excessive DPS activity.
- ESENT Database Engine: Windows uses the Extensible Storage Engine (ESENT) to manage the SRUDB.dat file. When ESENT encounters corrupted records, it logs ESENT errors and triggers DPS to repeatedly attempt recovery, creating a resource consumption loop.
When everything is working correctly, DPS idles at 0 to 1% CPU and uses 10 to 50 MB of memory. It becomes a problem only when one of its dependencies enters a broken state.
Why Is Diagnostic Policy Service Using High CPU?
If you open Task Manager (Ctrl+Shift+Esc) and notice that a svchost.exe process labeled Diagnostic Policy Service is consuming significantly more CPU than expected, several root causes could be at play. Understanding the cause helps you apply the right fix the first time.
Common Causes
- Bloated SRUDB.dat file: The SRU database can grow to several gigabytes when Windows generates excessive diagnostic events. DPS spends all its time trying to index and manage this oversized file, causing both high CPU and high memory usage.
- Corrupted WMI repository: When the winmgmt service repository is damaged, DPS repeatedly queries it and fails, entering an infinite retry loop that drives CPU utilization to 30% or more.
- Damaged performance counters: Performance counter corruption prevents DPS from reading system metrics cleanly. The service retries these reads constantly, keeping CPU elevated.
- ESENT errors in SRU logs: Database-level errors in the SRUDB.dat file generate repeated ESENT event log entries. DPS continuously attempts recovery, consuming resources.
- Driver conflicts and hardware events: Faulty or outdated drivers, particularly network adapters, storage controllers, and USB hubs, generate a constant stream of hardware events that trigger DPS activity.
- Network stack churn: Repeated network connectivity checks and winsock catalog corruption can cause DPS to stay active continuously, especially on systems that switch networks frequently.
How to Identify DPS Activity in Task Manager
- Press Ctrl+Shift+Esc to open Task Manager
- Navigate to the Details tab
- Look for svchost.exe processes with the description “Service Host: Diagnostic Policy Service”
- Normal DPS CPU usage is 0 to 1% when idle. Anything persistently above 5% indicates a problem.
For deeper verification, use the Sysinternals Process Explorer tool. Right-click the svchost.exe process hosting DPS, select Properties, and check the digital signature. Microsoft-signed processes are legitimate. Unsigned or suspiciously named processes warrant a malware scan.
How to Fix Diagnostic Policy Service High Memory Usage
Reports of the diagnostic policy service consuming 5GB of RAM or more have become increasingly common on Windows 11 forums. This extreme memory usage almost always traces back to the same root causes as high CPU. These methods address both problems simultaneously.
Method 1: Delete the SRUDB.dat File
The SRUDB.dat file is the primary suspect when DPS memory usage spikes. Stopping the service, deleting the file, and restarting DPS forces Windows to build a fresh, clean database.
- Press Windows+R, type
services.msc, and press Enter - Locate “Diagnostic Policy Service” in the list and double-click it
- Click “Stop” and then close the Services window
- Open File Explorer and navigate to
C:WindowsSystem32sru - Find the SRUDB.dat file (file size may be several hundred MB to several GB), right-click it, and rename to
SRUDB.old - Return to Services, find “Diagnostic Policy Service,” right-click, and select “Start”
- Restart your computer to ensure the new database initializes cleanly
Method 2: Clear Event Viewer Logs
Windows event logs feed into the SRU database. Clearing them reduces the data volume DPS has to process and can break resource-hogging loops.
- Press Windows+R, type
eventvwr.msc, and press Enter - Expand “Windows Logs” in the left panel
- Right-click each category (Application, Security, Setup, System) and select “Clear Log”
- Confirm when prompted
- Restart your computer fully
Method 3: Run System File Checker
Corrupted system files can cause DPS to malfunction. The SFC scan repairs protected Windows files that may be damaged.
- Type “cmd” in the Windows search bar
- Right-click Command Prompt and select “Run as administrator”
- Type
sfc /scannowand press Enter - Wait for the scan to complete (this may take 10 to 20 minutes)
- Restart your computer
How to Enable or Turn On Diagnostic Policy Service
When Diagnostic Policy Service stops running, Windows troubleshooters fail silently and system health monitoring breaks down. Here is how to get DPS running again using three different approaches.
Method 1: Using Services App
- Press Windows+R, type
services.msc, and press Enter - Scroll down and double-click “Diagnostic Policy Service”
- Set Startup type to “Automatic”
- Click “Start” if the service status is not Running
- Click “Apply” and then “OK”
Method 2: Using Command Prompt
- Type “cmd” in the Windows search bar
- Right-click Command Prompt and select “Run as administrator”
- Type the following commands, pressing Enter after each:
sc config DPS start=autonet start DPS
Method 3: Using System Configuration
- Press Windows+R, type
msconfig, and press Enter - Go to the Services tab
- Find “Diagnostic Policy Service” and ensure the checkbox is checked
- Click “Apply” and restart your computer
If the service refuses to start after trying these methods, you may need to fix system files or run a malware scan, as described in the advanced troubleshooting section below.
Should You Disable Diagnostic Policy Service?
There are scenarios where disabling DPS makes sense, particularly when it causes persistent performance degradation that no fix resolves. However, you should understand the tradeoffs before proceeding.
What You Will Lose
- All Windows troubleshooters will stop working
- Automatic problem detection and reporting is disabled
- Windows Update may struggle to identify and resolve installation conflicts
- System health monitoring becomes limited
When to Consider Disabling
- When DPS consistently uses 30% or more CPU or several gigabytes of RAM despite applying all fixes
- When you do not use Windows troubleshooters and need every bit of performance for gaming or professional workloads
- When you have verified via Process Explorer that the service is legitimate and not malware
How to Disable
- Press Windows+R, type
services.msc, and press Enter - Find “Diagnostic Policy Service” and double-click it
- Set Startup type to “Disabled”
- Click “Stop” if the service is currently running
- Click “Apply” and then “OK”
You can re-enable the service at any time by reversing these steps and setting Startup type back to “Automatic.”
Advanced Troubleshooting for Diagnostic Policy Service
If the basic fixes did not resolve your issue, the root cause likely lies deeper in the Windows system. The following advanced methods address corrupted WMI repositories, damaged performance counters, network stack problems, and potential malware disguises. Apply these in order, testing DPS CPU usage after each step.
Verify Legitimacy with Sysinternals Process Explorer
Before assuming the problem is a Windows bug, confirm that the high-CPU svchost.exe is actually the Diagnostic Policy Service and not malware nesting inside a legitimately-named process.
- Download and run Sysinternals Process Explorer from Microsoft’s website
- Find the svchost.exe process hosting Diagnostic Policy Service (hover over processes to see which services each hosts)
- Right-click the process and select Properties
- Go to the Image tab and check the digital signature. Microsoft Windows processes are signed by “Microsoft Windows”
- If the signature is missing or from an unknown publisher, run a full malware scan immediately
Run DISM Scan
DISM (Deployment Image Servicing and Management) repairs the Windows image that underlies all running services, including DPS. Run these commands in sequence for the most thorough repair.
- Type “cmd” in the Windows search bar
- Right-click Command Prompt and select “Run as administrator”
- Type each command and press Enter after each:
DISM /Online /Cleanup-Image /CheckHealthDISM /Online /Cleanup-Image /ScanHealthDISM /Online /Cleanup-Image /RestoreHealth- Restart your computer fully
Rebuild Performance Counters with lodctr /r
Damaged performance counter definitions cause DPS to fail when reading system metrics, triggering retry loops that consume CPU. The lodctr /r command rebuilds all performance counter definitions from their source files.
- Open Command Prompt as administrator
- Type
lodctr /rand press Enter - You should see the message “Successfully rebuilt performance counter settings from the registry”
- Restart the Diagnostic Policy Service: type
net stop DPSthennet start DPS
Repair WMI Repository
The WMI repository stores system configuration data that DPS reads constantly. Corruption in this repository can cause the service to enter a retry loop. Run these commands to verify and repair the WMI repository.
- Open Command Prompt as administrator
- Stop the winmgmt service: type
net stop winmgmt - Verify the WMI repository: type
winmgmt /verifyrepository - If the verification reports corruption, repair it: type
winmgmt /salvagerepository - If repair does not resolve it, reset the repository: type
winmgmt /resetrepository - Restart winmgmt: type
net start winmgmt - Start DPS: type
net start DPS
Reset Network Stack with netsh winsock reset
Network connectivity issues and corrupted winsock catalog entries can keep DPS active as it repeatedly attempts network diagnostics. Resetting the network stack clears these issues.
- Open Command Prompt as administrator
- Type
netsh winsock resetand press Enter - Type
ipconfig /flushdnsand press Enter - Restart your computer
Check for Malware
Some malware strains disguise themselves as svchost.exe or inject into Service Host processes to avoid detection. A thorough malware scan confirms whether the DPS-related process is genuinely from Microsoft.
- Run a full system scan with Windows Defender (type “Windows Security” in search, select Virus & threat protection, choose Quick scan, then switch to Full scan)
- Download and run Malwarebytes Anti-Malware for a second opinion
- Check for unusual startup programs in Task Manager’s Startup tab
Change Power Plan Settings
Aggressive power-saving settings can interfere with service responsiveness and cause unexpected behavior in background services. Setting the power plan to High Performance eliminates these anomalies.
- Type “edit power plan” in Windows search and press Enter
- Click “Change advanced power settings”
- Expand “Wireless Adapter Settings” > “Power Saving Mode”
- Set both “On battery” and “Plugged in” to “Maximum Performance”
- Click “Apply” and restart your computer
Normal vs. Problematic DPS Behavior
| Metric | Normal DPS Behavior | Problematic DPS Behavior |
| CPU Usage (idle) | 0 to 1% | 5% or higher consistently |
| Memory Usage | 10 to 50 MB | 500 MB to 5 GB |
| Disk Activity | Occasional, brief spikes | Constant read/write activity |
| Network Activity | Negligible | Persistent outbound traffic |
| Service Startup | Starts automatically with Windows | Fails to start, stops randomly, or restarts repeatedly |
| Event Log Entries | Sparse, routine entries | Frequent ESENT errors and WMI warnings |
Validation and Testing: Confirming the Fix Works
After applying any fix, you need to verify that DPS has actually returned to normal behavior and not just temporarily quieted down. Use these three verification steps to confirm resolution.
Step 1: Monitor DPS in Task Manager
- Open Task Manager and go to the Details tab
- Locate the svchost.exe process hosting Diagnostic Policy Service
- Monitor CPU usage for at least five minutes of normal use (web browsing, document editing)
- Normal is 0 to 2% CPU and 10 to 80 MB memory during active use
Step 2: Check the SRU Folder Size
- Navigate to C:WindowsSystem32sru in File Explorer
- Right-click in the folder and select Properties
- Check the total size. A healthy system should show under 100 MB for the entire SRU folder
- If the folder size grows beyond 500 MB within a week, a deeper underlying issue (driver or hardware loop) is likely present
Step 3: Review Event Viewer for Recurring Errors
- Open Event Viewer (eventvwr.msc)
- Navigate to Applications and Services Logs > Microsoft > Windows > DPS > Operational
- Look for repeated ESENT errors or WMI warnings that appear more than once per hour during normal use
Security Hardening and Prevention
Once you have fixed the Diagnostic Policy Service issue, take these preventive steps to stop it from returning. The most common reason the problem comes back is an underlying hardware event loop that the fixes in this guide address but do not eliminate at the source.
Monitor SRU Folder Size Monthly
- Create a monthly reminder to check the size of C:WindowsSystem32sru
- If the folder exceeds 500 MB between checks, a device or driver is generating excessive diagnostic events and needs investigation
Keep Drivers Updated
- Use Windows Update to install recommended driver updates, especially for network adapters, storage controllers, and USB hubs
- Visit your hardware manufacturer website for the latest drivers if Windows Update does not provide them
- Outdated drivers are one of the leading causes of continuous DPS activity and SRUDB.dat bloat
Schedule Weekly Reboots
A simple weekly restart prevents temporary service locks and clears stale diagnostic events that accumulate over time. This single habit prevents a large percentage of DPS-related performance issues from developing in the first place.
Use Process Explorer for Ongoing Verification
Keeping Sysinternals Process Explorer available on your system lets you quickly verify any svchost.exe process at any time. If you ever notice unexpected CPU usage, Process Explorer gives you instant clarity on whether it is a legitimate Windows service or something that warrants deeper investigation.
Frequently Asked Questions
What exactly is Diagnostic Policy Service in Windows 11?
Diagnostic Policy Service (DPS) is a Windows 11 background service that continuously monitors your system for hardware and software problems. It works with the Windows Diagnostic Infrastructure to detect issues, run diagnostic tests, and surface solutions through Windows Troubleshooters. DPS is hosted inside a svchost.exe process and relies on the SRU database, WMI repository, and performance counters to gather and store system health data.
Why is the Service Host Diagnostic Policy using so much CPU?
Service Host Diagnostic Policy Service consumes high CPU when it encounters corrupted data in the SRU database, damaged performance counters, or a broken WMI repository. DPS enters retry loops while attempting to read or repair this corrupted data, causing CPU usage to spike from the normal 0-1% range to 30% or higher. ESENT errors in the SRU log files often accompany this behavior.
Is it safe to disable Diagnostic Policy Service?
Yes, it is generally safe to disable Diagnostic Policy Service if you are experiencing persistent performance issues that do not resolve with other fixes. However, you will lose the ability to use Windows troubleshooters, and automatic problem detection will be disabled. Consider disabling it only as a last resort, and remember you can re-enable it anytime by setting the startup type back to Automatic in Services.
How do I fix Diagnostic Policy Service when it is not running?
To fix Diagnostic Policy Service when it will not start, first try restarting it manually through the Services app. If it still will not start, run sfc /scannow in an elevated Command Prompt to repair corrupted system files. You should also delete the SRUDB.dat file from C:u005cWindowsu005cSystem32u005csru after stopping the service, as a corrupted database can prevent the service from initializing properly.
Can Diagnostic Policy Service really use 5GB of RAM?
Yes, in extreme cases Diagnostic Policy Service can consume up to 5GB of RAM or more. This happens when the SRUDB.dat file grows to an abnormally large size due to excessive diagnostic events. The service attempts to load and index this massive file, which causes memory usage to balloon. Deleting the SRUDB.dat file after stopping the service typically brings memory usage back to the normal 10-50MB range.
Will deleting SRUDB.dat harm my system?
No, deleting the SRUDB.dat file will not harm your system. This file contains diagnostic logs and event data that Windows can and does recreate automatically. When you delete it, Windows builds a fresh, clean SRU database the next time the Diagnostic Policy Service runs. Removing this file often resolves performance issues by eliminating corrupted or bloated data that was causing the service to malfunction.
What is the lodctr /r command and when should I use it?
The lodctr /r command rebuilds all Windows performance counter definitions from their source files in the registry. You should use it when DPS shows high CPU but there are no obvious SRU database or WMI repository issues. Damaged performance counters cause DPS to retry failed metric reads endlessly, and lodctr /r restores the counter definitions that DPS needs to read system data cleanly.
Can I disable the DISM host servicing process?
The DISM Host Servicing Process is a separate service from Diagnostic Policy Service, though both can cause high CPU scenarios. You can disable it separately if needed, but it serves an important role in Windows image servicing and repair. If you are experiencing high CPU from DISM Host Servicing Process, check out our dedicated guide on the DISM Host Servicing Process for targeted fixes.
Conclusion
Diagnostic Policy Service high CPU and memory usage in Windows 11 is almost always solvable. The root causes typically trace back to a bloated SRUDB.dat file, corrupted WMI repository, or damaged performance counters, and each has a targeted repair method. Start with the simplest fix (deleting SRUDB.dat), and escalate to WMI repair, performance counter rebuilding (lodctr /r), and network stack resets only if needed.
Prevention is straightforward: keep your drivers updated, check the SRU folder size monthly, and reboot your computer weekly. These habits prevent the underlying conditions that cause DPS to spiral out of control in the first place. If the problem persists after trying every method in this guide, consider whether a hardware device or driver is generating a continuous event loop, and investigate drivers or consider a consultation with your hardware manufacturer.
For related performance issues, explore our guides on how to fix laptop lag or learn about Windows 11 driver issues for more comprehensive troubleshooting help.