是否存在某些命令或首选项对话框可以告诉我 Windows 为用户模式应用程序预留的虚拟地址空间的大小?
答案1
据我所知,没有。但你可以从逻辑上确定它。对于 32 位操作系统,每个用户模式应用程序都有 2^32 单元地址空间,即每个内存单元 1 字节,4Giga 行 = 4Gigabytes。在 64 位操作系统中,理论上该空间是 2^64 单元,但今天的使用量并不大,如果我没记错的话是 40 位。该空间用于应用程序本身、程序代码和堆栈区域。对于堆,它基本上仅限于系统的虚拟内存空间,当然可以与 HDD 的容量一样大。
您可以在计算机属性 -> 高级选项卡中检查虚拟机空间。您也可以在任务管理器中观察它。
举个例子,我的一个应用程序正在计算莫里斯系列。我确实将虚拟机大小配置为 1TB,将 pagefile.sys 定位在 1TB 磁盘中。应用程序从 1K 内存使用量启动,在字符串变量变为 1TB 长度后崩溃,这是我用该特定编码所能达到的极限。