我正在尝试找出该进程占用的总虚拟内存量,包括交换/缓存/页面文件-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 进程内存使用情况。
去引用:
坚定的应用程序可以访问多个页面。系统保证当您访问已提交的页面时,会有物理内存来备份它。当您第一次访问页面时,会按需分配物理内存。即使系统不会立即分配物理内存,但此保证也意味着系统范围内所有进程可以提交的内存量存在限制。此限制称为提交限制。如果分配超出提交限制,则系统不会满足该限制。