什么是私有字节,虚拟字节,工作集?
我正在尝试使用PerfMon Windows实用程序来调试进程中的内存泄漏。
PerfMon是这样解释这些术语的:
工作装置此进程的工作集的当前大小(以字节为单位)。工作集是进程中线程最近接触到的一组内存页。如果计算机中的空闲内存超过阈值,即使没有使用页面,页面仍留在进程的工作集中。当空闲内存低于阈值时,将从工作集中修剪页面。如果需要它们,那么在离开主内存之前,它们将被软故障恢复到工作集中。
虚拟字节进程正在使用的虚拟地址空间的当前大小(以字节为单位)。使用虚拟地址空间并不一定意味着相应地使用磁盘或主内存页。虚拟空间是有限的,进程可以限制其加载库的能力。
二等兵拜特斯此进程分配的内存当前大小(以字节为单位),不能与其他进程共享。
以下是我的问题:
我应该衡量的是二等兵拜特(PrivateBytes),以确保流程是否存在任何泄漏,因为它不涉及任何共享库,如果发生任何泄漏,将来自进程本身?
进程消耗的总内存是多少?是虚拟字节还是虚拟字节和工作集的总和?
私有字节、工作集和虚拟字节之间有什么关系吗?
还有其他工具可以更好地了解内存的使用情况吗?