Enabling CPU Monitoring in IIS 6.0 (IIS 6.0)
The CPU monitoring feature monitors and automatically shuts down worker processes that consume large amounts of CPU time. CPU monitoring is enabled for individual application pools.
Before enabling CPU monitoring, take note of the following:
Important You must be a member of the Administrators group on the local computer to perform the following procedure or procedures. As a security best practice, log on to your computer by using an account that is not in the Administrators group, and then use the runas command to run IIS Manager as an administrator. At a command prompt, type runas /user:Administrative_AccountName "mmc %systemroot%\system32\inetsrv\iis.msc".
Enabling CPU Monitoring by Using IIS Manager
When you enable CPU monitoring by using IIS Manager, IIS allows, by default, a maximum CPU use of 50 percent. To change the default value, follow this procedure.
To enable CPU monitoring
Enabling CPU Monitoring from the Command Line
Enabling CPU monitoring from the command line can take as many as three steps:
Set the CPU Limit
TheCPULimitproperty configures the maximum percentage of CPU time that the worker processes in an application pool are allowed to consume over the period of time set by the CPUResetInterval property. If the limit set by the CPULimit property is exceeded, an event is written to the event log and an optional set of events can be triggered as determined by the CPUAction property. Setting the value of the CPULimit property to zero disables CPU monitoring.
To start CPU monitoring for an application pool, set the CPULimit property to a value greater than zero. To calculate the value to set, determine the maximum percentage of CPU time that you want the worker processes in an application pool to use — for example, 50 percent (which is the default value). Next multiply that percentage by 1,000 (50 1,000 = 50,000). Hence, to limit CPU use to 50 percent, set a value of 50000 for the CPU limit.
To set the CPU limit for CPU monitoring by using Adsutil.vbs
Set the CPU Reset Interval
After turning on CPU monitoring for the application, use Adsutil.vbs to set a value for the CPUResetInterval property, which specifies the reset period (in minutes) for CPU monitoring and throttling limits on the application pool. When the number of minutes elapsed since the last CPU monitoring reset equals the number specified by this property, IIS resets the CPU timers for both the logging and limit intervals. The default value is five minutes. Setting the value of this property to zero disables CPU monitoring.
The value of the CpuResetInterval property must be greater than the time between logging operations; otherwise, IIS resets counters before logging has occurred, and CPU monitoring does not occur.
To set the CPU monitoring reset interval by using Adsutil.vbs
Set the CPU Action
Finally, set the CPUAction property, which configures the actions that IIS takes when Microsoft® Windows NT® job objects run. Only one Windows NT job object exists per application pool; therefore, you must configure the CPUAction property separately for each application pool. If you do not set the CPUAction metabase property, IIS assigns the default value, which is zero (event logging only).
To set the CPUAction value by using Adsutil.vbs