2011-09-26 25 views
0

我有一個ASP.NET應用程序與另一個API通信並在Page_Load上處理很多。ASP.NET內存問題

如果在我的瀏覽器中,我拿着F5並點擊該站點,服務器從120mb發射到1.5GB。

我找不到任何內存泄漏或未關閉的對象。有什麼方法或額外的事情我可以幫助嗎?

謝謝你的時間!

+1

離開瀏覽器後會發生什麼? - 記憶是否穩定下來?另外,你的CPU利用率是多少? –

+0

當您釋放F5按鈕時會發生什麼,它會恢復嗎?此外,還有其他方式來測試您的應用程序的性能。 Visual Studio Ultimate有一個測試套件,您可以使用它來發出大量請求,並實際控制您執行的請求數量。 –

+0

感謝您的回覆。代碼運行在名爲Umbraco的.net cms內的用戶控件中。我看了一下你的問題,大概在10-15分鐘後恢復,然後回到45mb,然後慢慢增加到120mb,並停留在那裏。 問題是,我發現該網站在週末因爲我們有大約30-60k的訪客而下降。有什麼辦法可以減少內存使用量嗎? – Base33

回答

1

使用類似於探查器ANTS ProfilerdotTrace

有很多很多事情可能導致這種行爲 - 試圖用任意性的建議來解決問題可能不會讓我們到任何地方。

一旦分析器發現問題區域,如果您無法解決該問題,則可以在新問題中發佈該代碼。

對於它的價值,1.5 GB不是巨大的。如果您按住按鈕,它最終是否會輸出OutOfMemoryException

+0

YEP!我們在週末的時候得到了一個System.OutOfMemoryException,並且當我按住按鈕一段時間。 – Base33

+0

@ Base33此時聽起來像是泄漏。我建議使用Profiler來識別問題區域。需要尋找的東西:Interop,訂閱靜態事件的實例對象等 – vcsjones

0

+1「的個人資料,並找出問題」 - 知道發生了什麼事是必須的,如果你想解決問題。

但短期來看,它可能更便宜,更容易轉移到體面的64位盒/ 64位版本的Windows,並使用64位ASP.Net - 您將獲得更多的內存可供IIS進程使用。