C# 测量桌面应用程序RAM使用率的可靠方法

C# 测量桌面应用程序RAM使用率的可靠方法,c#,memory,process,C#,Memory,Process,我正在为工作中的应用程序开发一个自动化测试系统(用C#编写),我很难测量它所需的峰值ram使用量,例如在加载某些文件时(在文件加载期间内存使用量通常要高得多) 首先,我尝试使用Process.PeakWorkingSet64,它在当时使用的机器上运行得非常好,直到测试系统部署到更多的机器和一些虚拟机上。 其中一些机器上的PeakWorkingSet64比其他机器上的要高得多(例如180MB对420MB) 我尝试了进程的其他不同值,也尝试了使用性能计数器,但我不知道任何其他指标能给我一个峰值(我真

我正在为工作中的应用程序开发一个自动化测试系统(用C#编写),我很难测量它所需的峰值ram使用量,例如在加载某些文件时(在文件加载期间内存使用量通常要高得多)

首先,我尝试使用
Process.PeakWorkingSet64
,它在当时使用的机器上运行得非常好,直到测试系统部署到更多的机器和一些虚拟机上。
其中一些机器上的PeakWorkingSet64比其他机器上的要高得多(例如180MB对420MB)

我尝试了
进程
的其他不同值,也尝试了使用
性能计数器
,但我不知道任何其他指标能给我一个峰值(我真的想要峰值而不是当前状态)

我真的不明白为什么在某些系统上,
PeakWorkingSet64
的值要高得多。我总是在这些机器上以完全相同的工作负载运行完全相同的软件。因此,如果我有一个在RAM中分配1GB数据的软件,我还希望它运行的每个系统报告的最大内存使用量约为1GB

这里有什么重要的东西我遗漏了吗?
有什么提示可以帮助我在测试系统中可靠地测量内存使用情况吗