2

我正在尝试对我的大型财务计算运行所需的内存量进行非常粗略的测量。它是一个非常简单的命令行工具,可以为大量金融工具定价,然后打印出结果。

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

我目前认为:

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

标记为“b”(Peal 工作集)的值是进程生命周期内任何时刻分配的最大物理内存量。

替代文字

4

2 回答 2

9

这里

工作集是进程中的线程最近接触过的内存页集。如果计算机中的可用内存高于阈值,则页面将留在进程的工作集中,即使它们没有被使用。当可用内存低于阈值时,将从工作集中修剪页面。如果需要这些页面,它们将在离开主内存之前被软故障返回到工作集中。

[私有字节是]字节,该进程已分配,不能与其他进程共享。

在这种情况下,“峰值”的含义应该是显而易见的。

于 2009-09-17T14:37:02.997 回答
0

观察中的随机想法以及 Process explorer 的显示内容。工作集位于显示器的物理内存部分,因此任何说它是虚拟内存的人都会感到困惑。并且它以奇数变化,因为 RAM 使用量通常会发生变化,因此看起来工作集是物理内存。另一方面,私有字节被列为虚拟内存。看着它的变化似乎是 16K 的倍数,因为虚拟内存通常会随着它交换内存页而不仅仅是随机位而发生变化。出于某种原因,我认为这应该是 64 k 页面,但我想这取决于机器和 Windows 版本。

于 2014-02-03T17:39:47.423 回答