【发布时间】:2017-01-07 01:00:36
【问题描述】:
我们正在尝试设置一个回归测试环境,在该环境中安装我们的应用,重放一些流量,然后与同一应用的“产品级”版本进行比较。回放后,我们将比较两个版本的关键指标,包括业务和技术。
其中一个指标是进程自创建以来已分配了多少内存,以确保当前版本分配的内存不会明显超过“产品级”版本。但我在 PerformanceCounters 或 System.Diagnostics 中找不到任何可以为我们提供此信息的指标。
我知道 GC 一直在释放内存,但我想计算的是分配了多少内存,有点像 System.Diagnostics.Process.GetCurrentProcess().TotalProcessorTime 为消耗的 CPU 所做的(至少我认为是这样)。
编辑:换一种说法,我要测量的是 gen0-1-2 中的总内存加上在我的进程中运行的众多 GC 释放的所有内存。
提前致谢。
【问题讨论】:
-
我对已使用或可用内存的快照不感兴趣,而是对自进程诞生以来分配的累积内存感兴趣。无论如何,谢谢。
标签: c# .net memory memory-management clr