winapi 检索所有驱动器的最大配置页面文件大小

问题描述 投票:0回答:1

似乎 GlobalMemoryStatusExGetPerformanceInfo Windows API 都会报告页面文件的 current 大小,但可以将页面文件(每个磁盘)配置为增长到一定限制。 是否有 API 可以检索该限制,以便我可以计算整个系统的最大可能提交大小(前提是页面文件设置保持不变)?

windows winapi
1个回答
2
投票

似乎可以通过 WMI(COM 和/或命令行):

wmic pagefile list /format:list
wmic pagefileset list /format:list

但也可以通过读取/解析此注册表设置以依赖于平台的1方式完成:

HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PagingFiles

此处所述,此格式为 REG_MULTI_SZ(每页文件一行):

<page-file> [<initial-size> <max-size>]

例如:

c:\pagefile.sys 1024 8192

如果是系统管理的页面文件,该值将为:

?:\pagefile.sys

在系统管理的情况下,大小受到系统驱动器上的可用空间的限制(对于 Hyper-V VM 来说并不完全正确)。


1 注册表设置似乎至少在 Windows XP、7、2012 和 10(32/64 位,PC)中有效。

另请注意,注册表可以修改,并且在重新启动之前可能无法反映系统的实际状态。

© www.soinside.com 2019 - 2024. All rights reserved.