4.18.24060.0
Defender platform version that introduced MpDlpService.exe as a separate process from MsMpEng.exe
2
Distinct processes to check separately post-split: MpDlpService.exe for Purview DLP and MsMpEng.exe for Defender Antivirus
May-Jul 2024
Window Microsoft documented for rolling out the MpDlpService.exe process split across devices

SponsoredHorizon3.ai

Proactive Security for the AI Era

NodeZero continuously and autonomously pentests infrastructure, identity, cloud, and now web applications, chaining weaknesses across every domain the way real attackers do. Every finding ships with replayable proof showing exploitable business impact, not theoretical risk.

See NodeZero WebApp in action

A device running Microsoft Purview endpoint DLP that starts consuming visible CPU is one of the harder performance complaints to scope correctly, because for years the standard troubleshooting advice for any Defender-related slowness pointed at a single process, MsMpEng.exe, and a single set of tools built around Defender Antivirus specifically. That advice stopped being complete once Microsoft began rolling out a change, starting at the end of May 2024 and largely complete by early July 2024, that split Purview endpoint DLP into its own process, MpDlpService.exe, introduced with Defender platform version 4.18.24060.0, so that DLP's own inspection workload runs and can be measured separately from antivirus real-time protection. Microsoft's own stated reason for the split was to improve the stability and performance of Purview DLP on Windows and to make it possible to troubleshoot and debug DLP-specific performance issues more precisely, which only helps if the person triaging a CPU complaint actually knows the split happened and checks the right process. This guide covers why endpoint DLP drives CPU load in the first place, how to confirm whether the load sits in MpDlpService.exe, MsMpEng.exe, or a conflict between DLP and another security tool, the exclusion and policy-tuning fixes for each, and where the answer is a genuine DLP policy scoping decision rather than a technical fix. It assumes the organization already has endpoint DLP policies deployed along the lines covered in our DLP implementation guide; this piece is about a running deployment misbehaving, not about designing one from scratch.

Cause: DLP content inspection is real, ongoing CPU work

Endpoint DLP is not a passive policy sitting on the device waiting to be consulted. To enforce a rule against copying sensitive content to a USB drive, printing a document with credit card numbers, or pasting regulated data into an unsanctioned browser tab, the agent has to classify file and clipboard content against sensitive information types, exact data match tables, or trainable classifiers in close to real time, for every relevant file operation on every onboarded device the policy applies to. The more file types a policy inspects, the more sensitive information types and exact data match tables it evaluates per file, and the more endpoints and applications it is scoped to, the more classification work MpDlpService.exe has to do continuously, independent of anything Defender Antivirus is doing on the same machine. A device that feels slow immediately after a broad new DLP policy is deployed, rather than after an agent update, is very often reflecting genuine inspection load rather than a bug, which matters because the fix in that case is policy scoping, not an exclusion or a version update.

Cause: pre-split agents and the exclusion gap after the split

Before the process split, a single process, MsMpEng.exe, carried both antivirus real-time protection and DLP inspection, which meant heavy DLP scanning and heavy antivirus scanning were structurally impossible to tell apart by looking at Task Manager, and any exclusion, firewall rule, or application-control allowlist entry written for Defender automatically covered DLP as well because there was only one process to list. After the split, that is no longer true: firewalls, non-Microsoft antimalware, and application control solutions that previously allowlisted MsMpEng.exe do not automatically extend that allowlist to MpDlpService.exe, and Microsoft has been explicit that organizations relying on those controls need to add the new process separately. A device where MpDlpService.exe is itself being scanned, throttled, or intermittently blocked by a firewall or third-party security tool that only knows about MsMpEng.exe will show CPU and latency symptoms that look identical to a DLP policy being too broad, but the actual cause is a missing allowlist entry left over from before the split, and no amount of policy tuning fixes that.

Free daily briefing

Briefings like this, every morning before 9am.

Threat intel, active CVEs, and campaign alerts, distilled for practitioners. 50,000+ subscribers. No noise.

Diagnostics: confirm the agent version and which process owns the load

Before assuming either explanation, confirm the device is actually running a Defender platform version at or after 4.18.24060.0, since a device on an older platform does not have the split at all and will show DLP and antivirus load combined in MsMpEng.exe exactly as it always did; check the running version through the Windows Security app or with Get-MpComputerStatus in PowerShell. On a device that does have the split, open Task Manager, Resource Monitor, or Process Explorer during the complaint and identify specifically whether MpDlpService.exe or MsMpEng.exe is the process consuming CPU, since the two processes now represent genuinely different workloads with different fixes. If MsMpEng.exe is the one spiking, this is a Defender Antivirus performance problem, not a DLP one, and the standard antivirus triage path, unsigned binaries, obfuscated scripts, VDI image sealing before cache completes, or misspelled exclusions verified with MpCmdRun.exe -CheckExclusion, is the correct next step rather than anything covered here.

Diagnostics: isolating DLP-specific load and policy sync problems

Once MpDlpService.exe is confirmed as the process under load, use Microsoft Purview's device onboarding health dashboard to check whether the affected device is receiving an unusually large or complex set of policies compared to similar devices, since a device syncing significantly more DLP policy content than its peers is a strong signal that scope, not a bug, is driving the CPU cost. Purview's Always-on Diagnostics feature for endpoint DLP automatically records trace logs on the device and lets an admin request a diagnostic upload directly from Alerts, Activity Explorer, or the Device Policy Status Page, which is built specifically to help distinguish whether a device-level DLP problem stems from policy logic, device state, application configuration, or endpoint health, without needing to reproduce the issue manually with a separate trace tool. Cross-check for a conflicting security product by reviewing whether any third-party antivirus, EDR, or firewall logs show activity against MpDlpService.exe specifically, which points back toward the exclusion gap covered above rather than a policy scoping problem.

Fix: close the MpDlpService.exe exclusion gap

Where the diagnosis points to a missing allowlist entry, add MpDlpService.exe to every firewall rule, third-party antimalware exclusion list, and application control policy that already references MsMpEng.exe, rather than assuming an existing Defender exclusion covers it. Confirm platform version 4.18.24060.0 or later is actually installed first, since applying this fix to a device still on an older platform accomplishes nothing because the separate process does not exist there yet; a fleet-wide rollout of endpoint DLP is very often a mix of updated and not-yet-updated devices, and treating the fleet as uniform is a common source of inconsistent results. Verify path and process exclusions were actually applied, not just configured, using the same MpCmdRun.exe -CheckExclusion validation Microsoft recommends for Defender Antivirus exclusions generally, since a misspelled or mistyped exclusion silently does nothing.

Fix: scope the DLP policy instead of excluding around it

Where the diagnosis points to genuine inspection load rather than a conflict, the correct fix is narrowing what the policy actually inspects, not adding broad exclusions that quietly disable DLP protection to relieve CPU pressure. Reduce the file types and locations a policy scans to what is actually relevant to the data it is meant to protect, limit sensitive information type and exact data match evaluation to the types genuinely in scope for that policy rather than enabling every available type by default, and scope enforcement to the users, groups, or device groups that actually handle the regulated data rather than applying the heaviest policy fleet-wide. Our data loss prevention implementation guide covers policy scoping in more depth for teams building this out; the point specific to a performance complaint is that any scoping change here is a security-relevant decision, not a cosmetic one, and should be made with whoever owns the DLP policy, not unilaterally by whoever is trying to make a CPU alert stop firing.

Validation: confirm under real usage, not right after a change

Re-check MpDlpService.exe CPU consumption in Task Manager or Resource Monitor under the device's normal daily workload, not immediately after a reboot or agent update when file activity is artificially low, since a measurement taken minutes after a change will look fine regardless of whether the underlying issue was actually resolved. If the fix was an exclusion, confirm with MpCmdRun.exe -CheckExclusion that it is actually in effect and, separately, confirm through the device onboarding health dashboard that policy sync and enforcement status for that device are still healthy, since an exclusion aimed at a conflicting security product should not have touched DLP enforcement at all. If the fix was policy scoping, confirm with the DLP policy owner, using Activity Explorer or a controlled test file, that the narrowed policy still fires on the content it is supposed to catch, because a fix that reduces CPU by silently reducing what the policy actually inspects has not really been resolved.

Failure cases: when the fix does not hold

Adding MpDlpService.exe to a third-party antimalware exclusion list while leaving the older firewall rule unchanged leaves an intermittent, harder-to-reproduce version of the same symptom, since the process is now unblocked at the antimalware layer but can still be throttled at the network layer during specific operations. Applying the platform update and exclusion fix to only the devices where users happened to complain, rather than fleet-wide, means the same issue resurfaces on every other device that crosses the same platform version threshold later, since the exclusion gap is a property of the agent version and the third-party tool's configuration, not of any individual device. Narrowing DLP policy scope to solve a CPU complaint without looping in the policy owner can resolve the performance ticket while quietly creating a compliance gap that is not discovered until an unrelated audit or a data loss event checks whether the policy still covers what it was supposed to.

Escalation criteria

Escalate to whoever owns DLP policy before narrowing inspection scope on any policy tied to a regulatory or contractual requirement, since a performance-motivated scoping change is a coverage decision, not a unilateral technical fix, even when it is the fastest way to make the CPU issue go away. Escalate to Microsoft support with an Always-on Diagnostics upload attached, requested from the Alerts, Activity Explorer, or Device Policy Status Page entry points, when MpDlpService.exe is confirmed as the source of sustained high CPU and the platform is current, exclusions are verified as applied, and policy scope is already reasonable for the device population, since at that point the cause may be a defect Microsoft needs to investigate rather than a configuration issue an admin can resolve alone. Escalate to whoever manages endpoint security tooling generally, not just DLP, when the root cause turns out to be a third-party antimalware or firewall product still enforcing rules against MsMpEng.exe without an equivalent MpDlpService.exe entry, since that gap likely exists across every device the same tool manages, not just the one that happened to generate a complaint.

The bottom line

High CPU on a device running Microsoft Purview endpoint DLP is not automatically a Defender Antivirus problem, and since Microsoft split Purview DLP into its own MpDlpService.exe process starting in mid-2024 with platform version 4.18.24060.0, it does not have to be treated as one. Confirm the platform version, identify whether MpDlpService.exe or MsMpEng.exe actually owns the load, and use the device onboarding health dashboard and Always-on Diagnostics to distinguish a genuine policy scoping problem from a missing exclusion left over from before the split. Close the MpDlpService.exe allowlist gap where a conflict with another security tool is confirmed, narrow DLP policy scope with the policy owner where the load is genuine inspection work, validate under real usage rather than right after a change, and escalate to Microsoft support once the platform, exclusions, and policy scope are already in good shape and the CPU load still does not resolve.

Frequently asked questions

Why does Microsoft Purview endpoint DLP cause high CPU usage?

Endpoint DLP has to classify file and clipboard content against sensitive information types, exact data match tables, or classifiers in near real time for every relevant file operation, so a broadly scoped policy applied to many file types, information types, or endpoints creates ongoing classification load that shows up as sustained CPU consumption.

What is MpDlpService.exe and how is it different from MsMpEng.exe?

MpDlpService.exe is the process Microsoft introduced starting with Defender platform version 4.18.24060.0 to run Microsoft Purview DLP separately from MsMpEng.exe, which now handles only Defender Antivirus, so the two workloads can be measured and troubleshot independently instead of appearing as one combined process.

Do I need to update firewall or antivirus exclusions after the MpDlpService split?

Yes. Any firewall rule, third-party antimalware exclusion, or application control allowlist entry written for MsMpEng.exe before the split does not automatically cover MpDlpService.exe, so organizations using those controls need to add MpDlpService.exe separately or risk the DLP process itself being scanned or blocked.

How do I confirm whether high CPU is coming from DLP or from Defender Antivirus?

Check the device's Defender platform version to confirm it is at or after 4.18.24060.0, then use Task Manager, Resource Monitor, or Process Explorer during the complaint to see whether MpDlpService.exe or MsMpEng.exe is the process actually consuming CPU, since each points to a different fix.

What is Always-on Diagnostics for Purview endpoint DLP?

It is a feature that automatically records trace logs on endpoint DLP devices and lets an admin request a diagnostic upload from Alerts, Activity Explorer, or the Device Policy Status Page, built specifically to help distinguish whether a device-level DLP issue stems from policy logic, device state, app configuration, or endpoint health.

Should I narrow a DLP policy's scope to fix a CPU complaint?

Only with the DLP policy owner involved, since reducing inspected file types, sensitive information types, or the population a policy applies to genuinely reduces what the policy protects, and a CPU fix that silently narrows compliance coverage should be a deliberate decision, not a unilateral performance workaround.

Sources & references

  1. Microsoft Learn - Troubleshoot performance issues, Microsoft Defender for Endpoint
  2. Microsoft Learn - Troubleshooting endpoint data loss prevention configuration and policy sync
  3. M365 Admin - Decoupling Microsoft Purview DLP Process from Microsoft Defender for Endpoint on Windows Devices
  4. Microsoft Community Hub - Always-on Diagnostics for Purview Endpoint DLP

Free resources

25
Free download

Critical CVE Reference Card 2025–2026

25 actively exploited vulnerabilities with CVSS scores, exploit status, and patch availability. Print it, pin it, share it with your SOC team.

No spam. Unsubscribe anytime.

Free download

Ransomware Incident Response Playbook

Step-by-step 24-hour IR checklist covering detection, containment, eradication, and recovery. Built for SOC teams, IR leads, and CISOs.

No spam. Unsubscribe anytime.

Free newsletter

Get threat intel before your inbox does.

50,000+ security professionals read Decryption Digest for early warnings on zero-days, ransomware, and nation-state campaigns. Free, daily, no spam.

Unsubscribe anytime. We never sell your data.

Eric Bang
Author

Founder & Cybersecurity Evangelist, Decryption Digest

Cybersecurity professional with expertise in threat intelligence, vulnerability research, and enterprise security. Covers zero-days, ransomware, and nation-state operations for 50,000+ security professionals every morning.

Related Questions: Answer Hub

Giveaway: InfoSec World 2026 All Access Pass ($3,895 value)

Details →
Daily Briefing

Subscribe to enter the giveaway

Every subscriber is automatically entered. You also get daily threat intel every morning: zero-days, ransomware, and nation-state campaigns. Free. No spam.

Already subscribed? You're already entered.

Giveaway

Win a $3,895 InfoSec World 2026 pass.