在程序运行期间获取有关RAM的信息

时间:2012-03-20 22:32:37

标签: c#

我有两种方法。我想测试它的性能。

我可以使用秒表完成工作的时间。但是如何获取有关RAM的信息?是否有任何类?

或者我必须手动从任务管理器获取它?(停止程序+运行tm +继续程序)

2 个答案:

答案 0 :(得分:3)

您正在寻找

Process.GetCurrentProcess().WorkingSet64

答案 1 :(得分:2)

查看Jon Skeet关于类似主题的博客 - http://msmvps.com/blogs/jon_skeet/archive/2011/04/05/of-memory-and-strings.aspx

基本上使用GC.GetTotalMemory

  long before = GC.GetTotalMemory(true);
    // do something 
  long after = GC.GetTotalMemory(true);

  Console.WriteLine("Diff:{0}" after - before;);

请注意,TaskManager显示分配了多少内存进程,您希望查看在特定点为活动对象分配多少内存CLR。