在.Net中测量内存使用情况

4
我正在尝试让我编写的程序(使用F#,但我想这里的答案对于任何CLR语言都是相同的?)报告其自身的内存使用情况(以便我可以了解我有多么强调机器,比较不同工作负载的大小,并评估任何优化的效果,希望节省内存)。好消息是,Process类有大量可用的统计数据。http://msdn.microsoft.com/en-us/library/system.diagnostics.process_members.aspx。然而,有非常多不同的内存使用数据。以下是测试运行中的四个:
Peak paged memory size    13,492,224
Peak virtual memory size  138,661,888
Peak working set          14,188,544
Private memory size       13,492,224

还有其他几个可用的选项。它们之间有什么区别?哪些是回答“程序在这次运行中使用了多少内存,它现在刚刚完成?”最好的答案?在Linux或MacOS上的Mono中,相同的数字是否具有相同的含义?

1个回答

1

对于一个试图监视自身内存使用情况的程序来说,GC.GetTotalMemory似乎是最好的指标。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接