Purview MSIP Scanner - CPU Throttling Setting Not Working (ScannerMaxCPU)

Nick Burke 0 Reputation points
2026-07-20T18:04:32.3533333+00:00

Hello,

We are experiencing consistently high CPU utilization from the Microsoft Purview Information Protection Scanner. The MSIP scanner and SQL DB are running on the same Windows Server 2022 Datacenter Edition

To reduce CPU usage, we configured the following advanced settings on our label policy:

Set-LabelPolicy -Identity "Default" -AdvancedSettings @{ScannerMaxCPU="50"}
Set-LabelPolicy -Identity "Default" -AdvancedSettings @{ScannerMinCPU="35"}

The settings appear to have been successfully applied to the label policy, and we have verified that they are present in the policy configuration. Please note we only have one label policy in the entire env, and it is the default one.

Additionally, the output from Get-ScannerConfiguration shows among other things:

OnlineConfiguration : On
ReportLevel: Info
Cloud: Commercial

The output from (Get-LabelPolicy -Identity "Default").settings shows among other settings:

[scannermaxcpu, 50]
[scannermincpu, 35]

Despite setting ScannerMaxCPU to 50 and ScannerMinCPU to 35, the scanner continues to spike CPU utilization well above the configured threshold. We have tried rebooting the server as well and there is nothing configured for ScannerConcurrencyLevel that I can see.

Could you please advise on the following:

  1. Is this not the correct way to limit CPU on a MSIP scanner server?
  2. How can we verify that the scanner has downloaded and is actively using the updated label policy?
  3. Is there a scanner log or diagnostic that shows the effective values for ScannerMaxCPU, ScannerMinCPU, and ScannerConcurrencyLevel?
  4. Are there any known issues or prerequisites that would prevent ScannerMaxCPU from being enforced?

At this point, our primary concern is understanding why the scanner continues to exceed the configured CPU limit despite the policy changes.

Thank you.

Microsoft Security | Microsoft Purview

1 answer

Sort by: Most helpful
  1. Ganesh Chelluri 190 Reputation points Microsoft External Staff Moderator
    2026-07-20T21:24:52.8633333+00:00

    Hi @Nick Burke ,

    ScannerMaxCPU / ScannerMinCPU aren't instant hard caps they are a 30-minute rolling-average throttle. The scanner watches average CPU over the last 30 min and adjusts thread count for new files. Short spikes above 50 are expected by design.

    Quick checks to unblock this:

    Confirm ScannerConcurrencyLevel isn't set (if present, it overrides Max/Min): (Get-LabelPolicy -Identity "Default").settings | ? { $_ -like "Concurrency" }

    Verify the scanner pulled the latest policy: Start-ScannerDiagnostics -Verbose (use -OnBehalf if not running as the scanner service account)

    Confirm the local policy file exists: %localappdata%\Microsoft\MSIP\mip\MSIP.Scanner.exe\mip\mip.policies.sqlite3

    If, measured over the 30-min average, CPU still stays high and you need a hard cap, set ScannerConcurrencyLevel to about 2 threads per core it acts as a thread ceiling.

    Also worth flagging: MSIP Scanner and the SQL DB are on the same box, so SQL is likely driving part of the CPU too. Best long-term move is to split them, or hard-cap threads via ScannerConcurrencyLevel.

    Refs

    Advanced settings: https://learn.microsoft.com/powershell/exchange/client-advanced-settings

    Optimize scanner performance: https://learn.microsoft.com/purview/deploy-scanner-configure-install#optimize-scanner-performance

    Was this answer helpful?


Your answer

Answers can be marked as 'Accepted' by the question author and 'Recommended' by moderators, which helps users know the answer solved the author's problem.