My ISAPI errors seem to be settling down a bit and I'm left with a periodic message like the one below. First, by "recycle" does this mean that IIS restarts automatically? It seems like that's what's happening.
Secondly, how and where does one set the processing time limit? Is this a relatively short time like seconds or hours?
Thirdly, what causes a worker process to exceed it's time limit.
And finally, how can I associate the process ID with a specific ISAPI module?
Lots of questions!! Sorry!
Event Type: Information
Event Source: W3SVC
Event Category: None
Event ID: 1074
Time: 3:46:54 PM
A worker process with process id of '2260' serving application pool
'DefaultAppPool' has requested a recycle because the worker process reached
its allowed processing time limit.
For more information, see Help and Support Center at
- It depends on what you mean by "IIS". The event says that a worker process of a particular application pool is recycling. To me, IIS is not "any particular application pool or worker process" but rather "the service that maintains the activity and availability of all application pools (and subordinate worker processes)". Thus to me, this "recycle" does not mean that IIS is automatically restarting.
- Process recycling configuration is associated with an Application Pool - in this case, DefaultAppPool. "Processing Time Limit" is associated with the "Recycle worker processes (in minutes):" configuration option of the Application Pool. Its default value is 1740 (29 hours) and can be customized.
You can view process recycling as either caused by unexpected error or by expected benign condition. By default, IIS only reports unexpected error-caused recycling to the event log. However, you are seeing an event for an usually benign recycling metric -- Processing Time Limit -- which basically happens X minutes after a request triggers the Application Pool to start, regardless if the worker process is healthy or not. These benign recycling events are normally not logged, so your server has non-standard configuration of the LogEventOnRecycle property.
In other words, suppose it is set to 5 minutes. It means that 5 minutes AFTER you have made a request to that application pool to spin up a w3wp.exe, the Process Time Limit will be reached and the w3wp.exe recycled. You should note the benign nature of this recycle metric - nothing is wrong; the Application Pool is just proactively recycling on its own. This is why this recycle metric does not log an event in default configuration.
Plus, if you make no subsequent requests to the application pool after the recycling, this recycling metric will not be in effect because no w3wp.exe of the application pool is running.
- Use the following command to determine which PID has the ISAPI DLL loaded:
tasklist /m <ISAPI_Module_Name.dll>
Use the following command to determine which Application Pool the PID belongs to:
iisapp.vbs /p <PID>