虚拟分配粒度和页面大小 [英] Virtual allocation granularity and page size

查看:866
本文介绍了虚拟分配粒度和页面大小的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

什么是虚拟分配粒度和页面大小Win64上平台的典型值?这会是SYSTEM_INFO的dwAllocationGranularity和dwPageSize。

What are the typical values of the virtual allocation granularity and page size on Win64 platforms? That'd be SYSTEM_INFO's dwAllocationGranularity and dwPageSize.

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

On Win32 systems these would be 64k and 4k.

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

I need to know because I've designed a custom allocator based on VirtualAlloc for a Win32 application and wonder if my design choices are still valid on Win64. I have no access to a Win64 system.

在此先感谢!

推荐答案

这仍然是相同的,64K和4K的Vista 64位。事实并非如此知道这是不会改变的某一天,小页面大小是把在TLB缓存严重pressure,降低PERF显着为多分配,技嘉块程序。我也看到了有关无法在某个神秘莫测点程序执行过程中不再分配大页几个问题报告。但是,这只是水晶球凝视了。

It is still the same, 64k and 4k on Vista x64. Not so sure if that isn't going to change some day, the small page size is putting serious pressure on the TLB cache, degrading perf considerably for programs that allocate multi-gigabyte chunks. I've also seen several problem reports about not being able to allocate large pages anymore at some inscrutable point during program execution. But that's just crystal-ball staring for now.

这篇关于虚拟分配粒度和页面大小的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆