分配粒度不是坏名词

"系统分配内存时,首地址必须是分配粒度(64K)的整数倍。"

还以为这里的粒度是翻译不到位,翻了原文,allocation granularity,确确实实是粒度,没错。

在嗷酱和嘟酱的帮助下发现原来是酱紫的:

http://blogs.msdn.com/b/oldnewthing/archive/2003/10/08/55239.aspx

 

 

LPVOID

    WINAPI

    VirtualAlloc(

    LPVOID lpAddress,

    SIZE_T dwSize,

    DWORD flAllocationType,    // MEM_RESERVE,预订区域而不是调拨物理存储器

    DWORD flProtect

    );

// 从高地址预订内存地址,可以避免可能会引起的内存碎片。

// 如果想要尽可能从高地址预订区域,必须

// lpAddress = NULL

// flAllocationType= MEM_RESERVE|MEM_TOP_DOWN

SIZE_T GetLargePageMinimum(); // 获得大页面分配粒度

大页面会得到更好的性能是因为Windows认为MEM_LARGE_PAGE标志分配得到的内存是不可换页的unpagable.

原文地址:https://www.cnblogs.com/mumuliang/p/2561023.html