我對IIS 7.0在它自己的應用程序池中的網站的應用程序。該應用程序是一個ASP.NET MVC 3網站。高內存使用IIS 7
我已經注意到了相應的w3wp IIS工作者服務這個應用程序的內存使用率相當高(800 MB,與一些波動)。
我試圖診斷問題,並嘗試以下操作:
我的網站在IIS級別禁用輸出頁面緩存,然後循環應用程序池。這會導致w3wp進程重新啓動。這個過程的內存使用率然後緩慢爬升到800 MB左右,這需要大約30秒。目前沒有處理頁面請求。當我從IIS重新啓動網站時,進程的內存大小不會改變。
我試圖運行從2010年的VS應用程序的調試副本,所以內存使用沒有問題。
一些想法,我有/問題是:
是這個問題關係到網站的代碼? - 鑑於任何頁面請求之前的內存火箭已經發送/處理,我會認爲這不是代碼問題?
建在MVC應用程序沒有處理緩存的寫入它。
該網站使用實時顯示數據,它定期使用ajax請求,並且通常長時間處於「打開」狀態。
爲什麼內存使用火箭的應用程序經過長達被回收並沒有用戶的請求被髮送?這是因爲它將舊的緩存信息從磁盤加載到它的內存中?
應用程序不會崩潰,我只是擔心內存使用,它不是一個大的網站......與得到這個問題的底部
任何想法/幫助,將不勝感激。
順便說一句 - 您將處於40%穩定狀態,因爲默認情況下,IIS中的processModel僅限於使用60%的可用內存。你可以通過processModel memoryLimit設置來改變它。 – ProVega 2014-09-19 20:51:53
@ProVega其實在IIS旁邊,有ms sql server和ms backup程序。 ms備份程序可以吃掉所有可用內存,使系統變慢。然後,MS SQL服務器也可以吃掉大量的內存緩存,所以我設置了內存最大限制。所以我最終有一些空閒的內存,因爲我已經檢查過了。 – Aristos 2014-09-20 05:57:42
也在應用程序池的高級設置彈出窗口中,將啓用32位應用程序設置爲true還可以減少內存使用量。看到這篇文章的信息http://www.sitefinity.com/developer-network/forums/bugs-issues-/app-pool-memory-drastically-different-from-32-64-bit – 2015-12-05 07:51:08