我有一個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 –