7

Win64平台上虚拟分配粒度和页面大小的典型值是多少?那就是 SYSTEM_INFO 的 dwAllocationGranularity 和 dwPageSize。

在 Win32 系统上,这些将是 64k 和 4k。

我需要知道,因为我已经为 Win32 应用程序设计了一个基于 VirtualAlloc 的自定义分配器,并且想知道我的设计选择在 Win64 上是否仍然有效。我无法访问 Win64 系统。

提前致谢!

4

1 回答 1

7

在 Vista x64 上仍然是 64k 和 4k。不确定这是否有一天会改变,小页面大小给 TLB 缓存带来了严重压力,大大降低了分配数 GB 块的程序的性能。我还看到了一些关于在程序执行期间无法再分配大页面的问题报告。但这只是现在的水晶球。

于 2009-01-13T13:59:24.150 回答