进程峰值内存使用量的类型

4

Process类型有以下三个属性:

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

通俗易懂地说,如果我想报告“进程使用的最大内存量”,哪个值(或多个值的组合)是适当的?


你的链接提供了完整的解释。 - Hamlet Hakobyan
1
@HamletHakobyan 我在发布之前仔细阅读了它们。 - Timothy Shields
1个回答

3
当你的系统只有X MB内存,但应用程序使用了>X MB内存时,会使用虚拟内存来适应。简而言之,这只是一种欺骗文件系统的RAM地址的方法。因为内存的工作集现在比实际安装的RAM大,所以需要使用页面交换数据在RAM和磁盘存储之间移动...顺便说一下,这就是为什么虚拟内存很慢的原因...磁盘分页。
无论如何,以下是您需要了解的定义:
PeakPagedMemorySize64 = 进程在虚拟内存分页文件中使用的最大内存量。正如我们讨论的那样,虚拟内存是分页的。一页是一组同时使用的内存。
PeakVirtualMemorySize64 = 进程使用的最大虚拟内存量(应该>= PeakPagedMemorySize64)。
PeakWorkingSet64 = 进程使用的最大物理内存量。
要报告内存使用情况真的很难,因为尽管PeakVirtualMemorySize64和PeakWorkingSet64可能各自为100,但第一个可能是在第二个为25时为100,第二个是在第一个为25时为100,因此实际上的最大值实际上是125而不是200.. 但是,您可以通过将两者相加来估计(或单独报告它们)得出唯一的可推导的测量。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接