我有一個正常的私人工作集約80 MB的.NET服務。在最近的負載測試期間,該進程達到了3.5 GB的內存使用量,導致整個機器在物理內存上很低(使用4 GB的3.9 GB),並且在負載測試停止後很久沒有釋放內存。使用任務管理器,我獲取了該進程的轉儲文件並在Visual Studio 2010 SP1中打開了它,並且我可以開始對其進行調試。如何使用轉儲文件來診斷內存泄漏?
如何診斷內存問題?我擁有dotTrace Memory 3.x,它是否支持轉儲文件上的內存分析?如果沒有,Visual Studio 2010 Premium的內存分析功能是否會有幫助(我目前有專業版)? WinDbg可以提供幫助嗎?
UPDATE:新的Visual Studio 2013旗艦版現在可以本地使用診斷轉儲文件存儲的問題。有關更多詳細信息,請參閱this blog post。
只有Visual Studio 2013 Ultimate Edition ... – Samuel 2013-10-25 12:05:20
@Samuel:真的嗎?多麼悲傷和失望...... – 2013-10-25 22:54:02
這是引用的msdn文章:http://blogs.msdn.com/b/visualstudioalm/archive/2013/06/20/using-visual-studio-2013-to-diagnose-net -memory-issues-in-production.aspx。它表示該選項的先決條件是Ultimate。因爲我認爲它在RC1中可用並且已被推入Ultimate,這是一個相當昂貴的功能,所以令人失望...... – Samuel 2013-10-27 11:06:18