Event ID 5193 — IIS Worker Process Dynamic Idle
Applies To: Windows Server 2008 R2
The Internet Information Services (IIS) Worker Process Activation Service (WAS) can dynamically adjust the idle time-out of worker processes based on current load. You can specify the maximum number of worker processes that can run concurrently on a Web server. If the maximum number is reached and dynamic idle is enabled, WAS dynamically reduces the idle time-out. This could allow new worker processes to start sooner and prevent the Web server from becoming unresponsive.
Event Details
Product: | Internet Information Services |
ID: | 5193 |
Source: | Microsoft-Windows-WAS |
Version: | 7.5 |
Symbolic Name: | WAS_HIGH_LOAD_DYNAMIC_IDLE_WARNING |
Message: | The dynamic idle load is '%1' percent of the dynamic idle threshold. The Windows Process Activation Service (WAS) will start to aggressively reduce worker process idle timeouts. Current number of worker processes: '%2', current total commit: '%3' MB, total physical memory: '%4' MB, current physical memory free: '%5' MB. |
Resolve
Configure the dynamic idle threshold
If Web server performance is impacted, you may want to configure the dynamicIdleThreshold attribute of the system.applicationHost/webLimits section in the ApplicationHost.config file.
Note: For more information about the values to use for the dynamicIdleThreshold attribute, see IIS 7.0: webLimits Element (IIS Settings Schema).
To perform this procedure, you must have membership in Administrators, or you must have been delegated the appropriate authority.
To specify a value for the dynamicIdleThreshold attribute:
- Open an elevated Command Prompt window. Click Start, point to All Programs, click Accessories, right-click Command Prompt, and then click Run as administrator.
- Type cd %Windir%\system32\inetsrv\.
- Type **appcmd set config /section:webLimits /dynamicIdleThreshold:**number where number is a value from 0 to 10000.
- To verify that the value has changed, type appcmd list config /section:webLimits /config:* The changed value will be displayed.
Verify
Because the dynamic idle feature works in real time, its threshold value is transient. However, you can verify whether dynamic idling has been enabled, or specify a value for the dynamic idle threshold if you want.
To perform this procedure, you must have membership in Administrators, or you must have been delegated the appropriate authority.
To verify whether dynamic idling is enabled:
Open an elevated Command Prompt window. Click Start, point to All Programs, click Accessories, right-click Command Prompt, and then click Run as administrator.
Type cd %Windir%\system32\inetsrv\.
Type appcmd list config /section:webLimits /config:*
The output will resemble the following:
<system.applicationHost>
<webLimits maxGlobalBandwidth="4294967295" connectionTimeout="00:02:00" demandStartThreshold="2147483647" dynamicIdleThreshold="0" headerWaitTimeout="00:00:00" minBytesPerSecond="240" /&gr;
</system.applicationHost>
If the value of dynamicIdleThreshold attribute is non-zero, the feature is enabled. In the example here, it is disabled; this is the default setting.