如何知道进程自创建以来分配的总内存

本文关键字:分配 内存 何知道 进程 创建 | 更新日期: 2023-09-27 18:04:58

我们正在尝试设置一个回归测试环境,在这个环境中我们的应用将被安装,重播一些流量,然后与同一应用的"prod级"版本进行比较。重播后,我们将比较两个版本的关键指标,包括商业和技术。

其中一个指标是进程自创建以来分配了多少内存,以确保当前版本分配的内存不会明显超过"prod级"版本。但我在性能计数器或系统中找不到。诊断任何可以提供此信息的指标。

我知道GC一直在释放内存,但我想计算的是已经分配了多少内存,有点像System.Diagnostics.Process.GetCurrentProcess().TotalProcessorTime为CPU消耗所做的(至少我认为它是这样的)。

编辑:换句话说,我想测量的是gen0-1-2中的总内存加上在我的进程中运行的众多gc释放的所有内存。

如何知道进程自创建以来分配的总内存

您可以通过运行对话框添加性能计数器,只需键入perfmon。然后选择计数器,然后用诊断方法引用它。这是一个教程,我做了https://www.youtube.com/watch?v=niKP91D50Ko

的基础是

using system.Diagnostics;
PerformanceCounter perfCPUCounter  = new PerformanceCounter(" "," "," ");

在引号中,您希望将Object, CounterInstance放在引号中。如果有三个---,那么它不需要任何东西,并将其省略。