System resource manager (WSRM) service memory leak

FAQ Jadit 40 Reputation points
2026-08-20T04:07:32.8833333+00:00

Hello,

We have dense terminal servers where the WSRM service (wsrm.exe) is leaking nonpaged pool memory, causing STOP 0x0000009F crashes. We need to transition resource management from WSRM to Windows Group Policy CPU Quotas.

Windows for business | Windows 365 Enterprise
0 comments No comments

Answer accepted by question author
Domic Vo 32,305 Reputation points Independent Advisor
2026-08-20T08:38:56.9466667+00:00

Hello,

The issue you’re seeing with wsrm.exe leaking nonpaged pool memory is a known limitation of Windows System Resource Manager (WSRM). Microsoft has deprecated WSRM since Windows Server 2012 R2, and it is no longer supported in newer builds. The STOP 0x0000009F bugcheck is directly tied to the driver-level resource exhaustion caused by the leak, so the only sustainable fix is to retire WSRM entirely and move to native Windows resource controls.

For terminal servers, the recommended transition path is to use Group Policy–based CPU quotas and process scheduling. You can configure this under Computer Configuration > Administrative Templates > System > Group Policy > Specify process CPU rate limit. This setting allows you to define CPU quotas per user or per process without relying on WSRM. The policy writes into the registry under HKLM\Software\Policies\Microsoft\Windows\System\CpuRateLimit and is enforced by the kernel scheduler, which avoids the nonpaged pool leak issue.

If you are also using WSRM for memory or I/O controls, those functions are not available in Group Policy. Microsoft’s guidance is to use Job Objects and Windows System Resource Control APIs for custom workloads, or migrate to Hyper-V with VM-level resource controls if isolation is required. For Remote Desktop Session Hosts specifically, CPU quotas via Group Policy are the supported replacement.

The immediate remediation is to disable the WSRM service (sc config wsrm start= disabled and sc stop wsrm) and remove any lingering policies. Then configure CPU quotas through Group Policy and validate enforcement with gpresult /h report.html and Resource Monitor. This will eliminate the nonpaged pool leak and stabilize your terminal servers.

I hope you've found something useful here. If it helps you get more insight into the issue, it's appreciated to accept the answer. Should you have more questions, feel free to leave a message. Have a nice day!

Domic Vo.

Was this answer helpful?

1 person found this answer helpful.
0 comments No comments

0 additional answers

Sort by: Newest

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.