我有一个asp.net-mvc网站,最近我在Web服务器上发现内存不足异常。我只有1个应用程序池,我们最近设置IIS在达到一定限制后进行回收。我去了一天,看到4 w3wp.exe进程运行(每个使用〜1.8GB内存)为什么IIS不清理池回收导致网站内存异常的旧工作进程(w3wp.exe)?
我假设在回收过程中,它不杀死老工人进程,最终我出去我的网站上的内存异常,因为该盒只有8GB的内存。我可以增加内存,但我担心为什么这些旧的进程没有被清理。
是否有任何建议,找出为什么这个回收过程不杀死旧的w3wp.exe进程并让它们运行?任何有关解决根本原因或解决方法的建议都可以避免这种风险。
您是否有长时间运行的进程在运行? - “默认情况下,IIS将使用重叠回收方法,该方法会在新进程处理新请求时保持旧进程,直到当前请求完成处理(或超时设置)为止,从而确保服务的连续性,以便通常不会注意回收。“ –
我确实有一些长期运行的流程,但工作流程在回收后一个小时左右就会停滞不前。 。我的长进程<1分钟 – leora
您可以使用IIS管理UI(工作进程实用程序)检查给定站点/应用程序池的当前(未决)请求。这里是一个示例链接:http://stackoverflow.com/questions/15621509/how-do-i-see-currently-executing-web-request-on-iis-8 –