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 |
This property is accessible at the following locations:
Metabase Path | Key Type |
/LM/W3SVC | IIsWebService |
/LM/W3SVC/N | IIsWebServer |
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 |