我在 Windows 2008 和 IIS7 上运行 ASP.NET 网站。
有时我的 w3wp.exe 的 CPU 占用率会达到 100%,网站会挂起。我还没有找到原因,但目前这无关紧要。我只想配置应用程序池,以便在 w3wp.exe 进程在短时间内以 100% 的 CPU 运行时将其终止。我该怎么做?
这些是我的应用程序池 CPU 设置:
另外,如果我终止该进程,那么在下次向网站发出请求时,该进程是否会正常运行,还是必须在终止后手动启动该进程?
答案1
对你的问题的严格回答是将限制设置为 1000*CPUPercent,即你想要的硬上限,并将操作设置为 KillW3WP。例如,要将其限制在 90%,你可以将限制设置为 90000
关于应用程序池中的 CPU 限制的更多信息可以在这里找到:http://www.iis.net/ConfigReference/system.applicationHost/applicationPools/add/cpu
不过,我必须说,您是在试图治标,而不是治本。调试代码以找出发生这种情况的原因可以彻底解决这个问题,但终止进程只是暂时的补救措施。