Kill w3wp.exe if it is working on 100% cpu over a period of time

9,816

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.

Share:
9,816

Related videos on Youtube

Martin at Mennt
Author by

Martin at Mennt

Web developer.

Updated on September 17, 2022

Comments

  • Martin at Mennt
    Martin at Mennt over 1 year

    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?

  • Pitto
    Pitto about 13 years
    +1 for the focused answer and the complete solution suggestion
  • JohnLBevan
    JohnLBevan over 9 years
    +1 for a great answer. Do you know if there's any way to trigger an email when KillW3wp occurs; or do you know the eventlog id of such an event (i.e. so I can use the windows scheduler to trigger a mail on seeing such an event)? I ask as whilst I like the app fixing the issue itself, having our team alerted will help us to find the underlying cause, and also to ensure we don't have phantom fixes occurring.
  • JohnLBevan
    JohnLBevan over 9 years
    (ps. also posted my follow-up question here: serverfault.com/questions/665003/…)
  • Brett Larson
    Brett Larson almost 7 years
    Does the process run again as normal upon next request to the website, or do I have to start the process manually afterwards?
  • Krunal
    Krunal about 5 years
    Did you get answer to this? Does the process run again as normal upon next request to the website, or do I have to start the process manually afterwards?