Dot-Net

如何確定我的 .NET 程序正在使用多少記憶體?

  • December 10, 2008

似乎經常說任務管理器不提供程序正在使用多少記憶體的準確指示。

如果確實如此,找出這些東西的最簡單方法是什麼?

我想知道:

  • 使用中的總記憶體(無論是在 RAM 中還是在分頁中或其他)
  • 正在使用的總 RAM(在機器有大量可用物理 RAM 的情況下執行,因此希望被強制分頁的事情不是問題)
  • 程序實際使用的總記憶體(不計算 GC 保留的額外成本)
  • 僅由我的程序使用的總記憶體使用量(不包括共享庫/共享記憶體)
  • 共享記憶體使用總量。

抓住Process Explorer,右鍵點擊 -> 屬性列表中的程序,然後點擊“.NET”選項卡。從組合框中選擇“.NET CLR 記憶體”,您將獲得有關您的流程的更多實時資訊,而不是您知道如何處理;)

http://memprofiler.com/是一個非常好的.Net 記憶體分析器。但微軟在 Windows 性能監視器 (perfmon) 中的建構也會為您提供這些數據。請參閱http://dotnetdebug.ne​​t/2005/06/30/perfmon-your-debugging-buddy/

引用自:https://stackoverflow.com/questions/357675