Skip to main content

Feature of the Week - Windows System Resource Manager 

Posted By:  Adam Bomb 
Publish Date: 4/10/2008

Virtualization is getting a ton of attention right now, and it’s a great way to compartmentalize apps so you can better control resource consumption.  It’s not the only way though.  You can easily control how CPU and RAM is doled out to users and apps using Windows System Resource Manager (WSRM)

Windows System Resource Manager

What is it? Some apps are well behaved and only request and use as much RAM as they really need to run, others look at what’s physically available on a server and take it all.  WSRM allows you to throttle CPU and RAM resources – allowing you to limit particular apps from consuming more than say, 20% of CPU time and 256MB of RAM.

Can I manage only apps? Nope, there are a few ways you can limit resources:

· Per application (process)

· Per IIS application pool

· Per user

· Per session

The last two items are particularly appropriate for a Terminal Server environment.  You can keep one user from monopolizing all the resources on your server.

What if I only want to manage resource usage at certain times of day? You can totally do that.  In addition to scheduling, you customize resource management with other criteria like system events and exclusion lists.  It’s all manageable by policy as well!

But I can have resource management happening all the time on my servers? Ok, there’s one minor caveat.  CPU throttling doesn’t actually kick in until the server is above 70% utilization across all CPU’s.  Below 70% though, means there’s not really contention for resources, so it’s no big deal.


Well, how do I get it? Well, first you install it.  It’s a feature on Server 2008, so just go to Server Manager and Add Feature – Windows System Resource Manager.  It’s installed as a service, so you need to start the service  (and, presumably, set it to auto start) after you install it.  After that, you can run the WSRM console, and start adding rules.  You can also use the built in Resource Allocation Policies to do some default management (on a Terminal Server, you’d use the equal_per_session policy to make sure all users share resources equally, for example)

Ok, this is cool!I know, that’s why I wrote about it.

Get started

TechNet Library WSRM page