首页 文章

测量.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 .

相关问题