CpuLimitPriority

This metabase property specifies the percentage of CPU time, in 1/1000ths of a percent, that all isolated processes on the Web server can occupy during a given process accounting interval (specified by CpuResetInterval). If the processes attempt to occupy more CPU time than specified in CpuLimitPriority, all processes for that server will be set to Idle Class priority until the next process accounting reset. Any new processes on that server will also be set to Idle Class priority. Any limit overrun will be recorded in the Windows Event Log, and, if process accounting is enabled, in the IIS log as well.

If CpuLimitPriority is set to 0, or a value greater than 100,000 (100 percent), IIS will change the priority of any of the process' threads. However, one of the other process throttling properties, such as CpuLimitLogEvent, CpuLimitProcStop, or CpuLimitPause, could generate a response from IIS if a CPU limit is exceeded.

Note   Because process accounting in IIS uses Windows Job Objects to monitor CPU times for an entire process, process accounting will log and throttle only applications that are isolated in a separate process from IIS.

Process throttling and process accounting are independently controlled by several other metabase properties. In order to enable process accounting you must set CpuEnableLogging (which is a member of CpuLoggingMask) to TRUE, and set at least one other CpuLoggingMask property to TRUE. It is also necessary to set at least one member flag of the CpuLoggingOptions, set CpuLoggingInterval to a nonzero value, and set either CpuAppEnabled or CpuCgiEnabled, as appropriate, to TRUE.

To properly activate process throttling, CpuLimitsEnabled must be set to TRUE, and at least one of the following properties should be set to TRUE:  CpuLimitLogEvent, CpuLimitPriority, CpuLimitProcStop, or CpuLimitPause.

Important   Applications that do not have process throttling enabled do not contribute to the total CPU time, for the purposes of calculating CPU limit overruns.

Data type Long
Default value 0 (unlimited)
Inheritance Inheritable

Access Locations

This property is accessible at the following locations:

Metabase Path Key Type
/LM/W3SVC IIsWebService
/LM/W3SVC/N IIsWebServer

IIS Admin Base Object Information

The following table lists additional information required only for code that uses the IIS Admin Base Object.

Metabase identifier MD_CPU_LIMIT_PRIORITY
User type IIS_MD_UT_SERVER