2009-06-24 60 views
0

崩潰這是關係到another question of mineAsp.net中的mscorlib

消除明顯的(或因此我認爲)和最大的內存消費者(在asp.net緩存圖片)後,變化不大。我們在這個Web中使用企業庫異常處理(不知道爲什麼,但是我們這樣做),並且這些異常不會被記錄下來。只是爲了記錄,服務器有4 GB的內存,所以我不認爲物理內存是問題。

這裏發生了什麼,根據事件日誌:

首先,我得到這個從網頁(很少從同一頁面兩次):

Exception information: 
Exception type: Exception 
Exception message: mscorlib - Exception of type 'System.OutOfMemoryException' was thrown. 

那麼這樣的:

Description: 
An unhandled exception occurred and the process was terminated. 
Application ID: /LM/W3SVC/672222825/Root 
Process ID: 1544 
Exception: System.OutOfMemoryException 
Message: Exception of type 'System.OutOfMemoryException' was thrown. 
StackTrace: at System.Threading.ExecutionContext.CreateCopy() 
    at System.Threading._TimerCallback.PerformTimerCallback(Object state) 

我的問題是:我如何使用探查器來查看導致崩潰的原因?我已經嘗試了兩個配置文件--Net Jet Profiler和JetBrains的dotTrace。除了我有很多字符串之外,內存分析並沒有給我帶來任何有用的信息。性能分析也無濟於事,因爲函數的執行時間都很好,並且很漂亮。如果這個錯誤發生在分析器運行時,它只是停止分析 - 我可能使用它錯了。

p.s.抱歉表格,盡我所能。

回答

1

問題解決了 - 開發人員之一是在會話中存儲整個數據表,並且吃掉了內存(並且沒有費心去問別人是否可以)。

只有我感到困惑的是,它具有崩潰這麼醜,而不是拋出YouIdiotYoureOverUsingSessionObjectException :)

哦,生活和學習...

0

我會檢查你是否在IDisposable實現上調用Dispose。一個很好的方法來檢查通過FXCop運行代碼。

0

machine.config中的ProcessModel節的內存限制屬性控制着循環前ASP.NET最大內存使用量。

相關問題