我如何才能看到某个进程正在使用的内存量而不是刚刚分配的内存量?

我如何才能看到某个进程正在使用的内存量而不是刚刚分配的内存量?

我正在寻找一种方法来确定进程实际使用的内存(而不仅仅是分配的内存)。

查看 procmon.exe 或 vmmap.exe,相关值是:

私有字节
所有内存均已分配。

工作集
物理 RAM 中的已用内存。

假设private bytes = 3 GBworking set = 200 MB在最好的情况下,该进程仅使用 200 MB,其余部分只是分配而未使用。在最坏的情况下,它使用所有 3 GB,并将 2.8 GB 交换到页面文件。

(我读了问题我的 Windows 应用程序实际使用了多少内存?什么是私有字节、虚拟字节、工作集但他们没有回答我的问题。)

有什么方法可以找到进程真正使用的内存吗?

编辑:
对我来说,已用内存是已填充的分配内存量。

当分配 3 GB 时,“什么也没有”发生。内存仅为进程保留。专用字节增加,但工作集保持不变。填充分配的 200 MB 内存后,它会显示在工作集上。

我所寻找的是这 200 MB 的已使用/已填充内存,无论其是否完全在工作集上或已被换出。

相关内容