【发布时间】:2011-02-27 15:12:17
【问题描述】:
我正在尝试获取我正在编写的程序(在 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 上是否具有相同的含义?
【问题讨论】:
标签: .net memory memory-management