A. One of the great enhancements to Windows Server 2008 R2 was the addition of a kernel-level fair-share CPU algorithm. This algorithm makes sure when there's contention for CPU resources, sessions get an equal amount of CPU, stopping a runaway process from consuming more than it should. This was possible under Windows Server 2008 using Windows System Resource Manager's (WSRM) Equal_Per_Session policy, but WSRM could take seconds to enforce the fair sharing, which could sometimes be too late to avert prevent negative performance for other sessions. The Server 2008 R2 kernel-level fair-share enforces in milliseconds, so it's far more timely.

A few readers wrote to tell me that that fair-share is great, but some of them need to weight CPU allocations for their sessions, not keep them the same for everyone. To do this, go back to using WSRM. There's a WSRM policy in Server 2008 R2 called Weighted_Remote_Sessions that lets you categorize users into three groups (premium, standard, and basic) that prioritize CPU usage in the order listed.

To use WSRM, add the WSRM feature using Server Manager. Once it's installed, start the WSRM MMC snap-in from the Administrative Tools folder, open Resource Allocation Policies, right-click Weighted_Remote_Sessions, and select Properties. You can now add users using the Add button. Select the appropriate Priority from the drop-down, as shown here, then add specific users.

042511-wsrm-policy-set-small_0

You can repeat this for each of the various priorities you wish to use. Once you've added all the users, select the Weighted_Remote_Sessions policy and then select the Set as Managing Policy action. You may be prompted to restart WSRM—select Yes.