如何查找进程使用的总虚拟内存?

如何查找进程使用的总虚拟内存?

我正在尝试找出该进程占用的总虚拟内存量,包括交换/缓存/页面文件-d(无论如何称呼,它们都在磁盘上)。我在任务管理器中得到的所有统计数据似乎都只是指物理 RAM 中占用的空间:

在此处输入图片描述

以下是我选择的内存列:

![在此处输入图片描述

我没有看到任何其他符合我想要的值。根据和 的R报告,该值应该在 2GB 左右:gc()memory.size()

gc()
#             used   (Mb) gc trigger   (Mb)  max used   (Mb)
# Ncells   1361878   72.8    2309944  123.4   1737286   92.8
# Vcells 254023597 1938.1  614368770 4687.3 611808900 4667.8
memory.size(FALSE)
# [1] 2051.88
Sys.getpid()
# [1] 8544

(尽管如此,报告的“最大使用量”gc()似乎与“峰值工作集”相当吻合;不确定这是指总虚拟内存还是仅指物理内存。)

答案1

最有可能与您的问题相对应的数量是“提交大小”。

所有这些数量都在 Microsoft 博客文章中进行了解释
揭秘 Windows 进程内存使用情况

去引用:

坚定的应用程序可以访问多个页面。系统保证当您访问已提交的页面时,会有物理内存来备份它。当您第一次访问页面时,会按需分配物理内存。即使系统不会立即分配物理内存,但此保证也意味着系统范围内所有进程可以提交的内存量存在限制。此限制称为提交限制。如果分配超出提交限制,则系统不会满足该限制。

相关内容