Understanding Limitations and Exclusions of Windows System Resource Manager

Applies To: Windows Server 2008

Windows System Resource Manager aims to ensure that system resources are available to processes, users, Terminal Services sessions, or Internet Information Services (IIS) application pools (collectively called workloads). If unmanaged, these workloads can contend for and exhaust the system resources. However, there are situations in which Windows System Resource Manager is not an appropriate management solution or cannot guarantee sufficient resources to server workloads.

Warning

Windows System Resource Manager cannot manage system resources correctly if the computer is being managed by another resource manager, including process-oriented and job object-oriented resource managers. For best results, use Windows System Resource Manager as the only resource manager on the computer.

What should not be managed by Windows System Resource Manager

Applications with built-in resource management

Applications and processes that modify their process priority, memory limits, or processor affinity dynamically can interfere with the correct operation of Windows System Resource Manager.

If you use Windows System Resource Manager to manage a computer with applications that include built-in resource management, you must add the self-managed applications and processes to the user-defined exclusion list. For more information about the user-defined exclusion list, see Work with the User-Defined Exclusion List.

Applications that use job objects

Some applications create processes that use job objects. Processes that use job objects cannot be managed by Windows System Resource Manager. To determine whether an application uses job objects, see the documentation for the application.

If you use Windows System Resource Manager to manage a computer with applications that use job objects, you must add those applications to the user-defined exclusion list.

Exceptions for applications that use job objects

Windows System Resource Manager can be used with job objects under special conditions. Windows System Resource Manager may not be able to manage job objects that enforce certain limits on associated processes (for example, thread or process priority, processor affinity, or working set size). An example of a job object that can be managed by Windows System Resource Manager occurs in IIS. In cases where IIS is used to host PHP applications by using the FastCGI protocol, IIS worker processes use job objects to ensure that child FastCGI processes get terminated when the parent worker process is terminated. Because IIS FastCGI does not enforce any of the aforementioned limits (for example, process priority), Windows System Resource Manager is able to manage these IIS worker processes even though job objects are being used.

What is not managed by Windows System Resource Manager

Applications or processes hosted by an excluded application

Exercise caution when adding processes that host other processes or applications to the user-defined exclusion list. If an application such as svchost.exe is added to the user-defined exclusion list, any process that it hosts could potentially consume all available resources because it is not managed. If the hosting process is not on the user-defined exclusion list, it and any processes it hosts will be managed as part of a criterion match or as part of the default group.

Resources used by the operating system

Processor and memory resources that are used by the operating system are excluded from management by Windows System Resource Manager. For example, if the operating system is using 25% of the available CPU on a system that is managed by the Equal_per_user resource allocation policy, each of three users who are running processes on the computer will be allocated 25% of the total CPU, which is 33.33% of the CPU that is available to be managed.

If the remaining resources are not sufficient to support the workloads installed on the server, you can:

  • Reduce the number of workloads running on the server.

  • Install additional hardware to increase the available resources.

  • Install a Server Core installation of the Windows ServerĀ 2008 operating system to reduce the resources that are consumed by the operating system (if the applications and services running on the server support it).

Additional references