过程峰值内存使用的类型

时间:2014-04-15 21:14:57

标签: c# .net memory-management process

Process类型具有以下三个属性。

分页内存,虚拟内存和工作集的含义是什么?

在非专业人士的术语中,如果我想报告该过程使用的峰值内存量,"哪个值(或值的组合)是否合适?

1 个答案:

答案 0 :(得分:2)

如果您的系统有X MB内存,但您的应用程序使用> X MB内存,虚拟内存用于容纳。简而言之,它只是一种欺骗文件系统RAM地址的方法。因为现在内存的工作集大于实际安装的RAM,所以 paging 用于在RAM和磁盘存储之间移动数据......顺便说一句,这就是虚拟内存很慢的原因......磁盘分页。

无论如何,你的定义是:

  • PeakPagedMemorySize64 =进程在虚拟内存页面文件中使用的最大内存量。正如我们所讨论的,虚拟内存被分页。页面是一次使用的一组内存。
  • PeakVirtualMemorySize64 =进程使用的最大虚拟内存量(应为> = PeakPagedMemorySize64)。
  • PeakWorkingSet64 =进程使用的最大物理内存量。

要充分报告内存使用情况真的很难,因为虽然PeakVirtualMemorySize64PeakWorkingSet64可能都是100,但第二个是25时可能是第一个是100当第一个是25时,第二个是100,所以实际最大值实际上是125而不是200 ..然而,您可以从这些属性中得出的唯一真实测量值是将两者加在一起进行估算(或单独报告)。