Windows Server 2008 – Kill w3wp.exe if it is Working on 100% CPU Over a Period of Time

application-poolsasp.netcpu-usagewindows-server-2008

Im running a ASP.NET website on Windows 2008 and IIS7.

From time to time my w3wp.exe start spiking into 100% CPU, and the website hangs.
I have not found the reason for this, but that is irrelevant at the moment. All I want is to configure the application pool to kill the w3wp.exe process when it is working on 100% CPU over a short period of time. How can I do this?

These are my application pool CPU settings:
enter image description here

Also, if I kill the process, will the process be running as normal upon next request to the website, or do I have to start the process manually after it is killed?

Best Answer

The strict answer to your question is to set the limit to 1000*CPUPercent that you want to be the hard upper limit, and set the Action to KillW3WP. For example, to limit it at 90%, you would set the limit to 90000

More info on CPU limits in an application pool can be found here: http://www.iis.net/ConfigReference/system.applicationHost/applicationPools/add/cpu

I must say, however, you're trying to cure the symptom and not the problem. Debugging the code to figure out why this is happening will fix this for good, but killing the process is just sticking a temporary band-aid over it.