我已经读过英特尔芯片支持高达1 GB的虚拟内存页面大小。 使用Virtual_lloc和MEM_LARGE_PAGES可以获得2MB的页面。 有没有办法获得不同的页面大小? 我们目前正在使用Server 2008 R2,但正计划升级到Server 2012。
看起来不像,“ 大页面支持”文档没有提供定义大页面大小的机制。 您只需要进行分配,这些分配的大小(和明确请求的对齐)是最小大页面大小的倍数 。
我认为从理论上讲,Windows可以在内部实现多个大页面大小(API函数只告诉你最小大小),但是它们不会在API级别上暴露它。 在实践中,我希望越来越大的页面收益递减。 当您已经将TLB使用量减少了几个数量级时,TLB缓存失误的开销就不会那么重要。