我的应用程序时断时续出现问题。它总是在较高的负载下(10-50雷克/秒)。大多数情况下,它运行出色,CPU < 10%。偶尔(大约每周一次),它会突然上升到100% CPU在大约3分钟的过程中,然后停留在那里,导致服务器变得没有反应,直到我杀死w3wp.exe。我继续尝试调试这个问题。同时,我需要一个临时的解决方案。
是否有服务或工具可用于监视w3wp.exe,并在一段时间内超过80%的利用率时自动终止该进程?
发布于 2010-08-08 17:44:46
IIS可以自己处理这个问题;当它的CPU使用量在给定时间内保持在某一阈值以上时,可以将应用程序池配置为可回收(即重新启动)。
发布于 2010-08-08 17:24:04
我不知道您的环境中是否有其他机器,但我建议您在环境中设置一些监视。Nagios或Zabbix或类似的应用程序。它们可以监视cpu /磁盘空间/内存使用情况等。如果您的cpu使用率保持在80%或90%以上,无论您认为时间太长,您都可以让监视系统触发一个任务(zabbix能够做到这一点,调用外部项)来杀死该池。使用此解决方案有一点学习曲线,但是,您需要学习应用程序并编写脚本来重新启动应用程序池.类似于.net应用程序或vb脚本,它们使用IIS应用程序来确定负责的应用程序池,然后在该进程上使用命令行杀死。
https://serverfault.com/questions/168264
复制相似问题