帮助我从Process Explorer中了解这些内存统计信息

我试图做一个非常粗略的测量大量的财务运算所需的内存量。 它是一个非常简单的命令行工具,它可以对大量金融工具进行价格上涨,然后打印出结果。

我决定使用Process Explorer来查看程序的内存需求。 有人可以解释屏幕截图中标记为a和b的两个字段之间的区别:

我目前认为:

标记为“a”(Peak Private Bytes)的值是在任何瞬间分配给进程的最大内存量(磁盘上的实际物理内存和虚拟内存)。

标记为“b”(Peal Working Set)的值是在该进程的任何时刻分配的最大物理内存量。

替代文字

从这里 :

工作集是进程中线程最近触及的一组内存页面。 如果计算机中的可用内存超过阈值,则即使未使用,页面也会留在进程的工作集中。 当可用内存低于阈值时,页面将从工作集中删除。 如果需要这些页面,则在离开主存储器之前,它们将被软故障回到工作集合中。

[ 专用字节是]字节,这个进程已经分配了,不能与其他进程共享。

在这种情况下,“高峰”意味着什么是显而易见的。

观察的随机想法和Process Explorer的显示内容。 工作集是在显示器的物理内存部分,所以任何人说它是虚拟内存是困惑的。 由于RAM的使用通常会改变,因此它看起来像工作集是物理内存。 另一方面,私人字节被列为虚拟内存。 而看着它的改变似乎改变的是16K的倍数,因为虚拟内存通常会随着内存页而不是随机位的交换而改变。 出于某种原因,我认为这应该是64 K页,但取决于机器和Windows版本我想。