Large-Page 支援
大型頁面支援可讓伺服器應用程式建立大型頁面記憶體區域,這在64位Windows上特別有用。 每個大型頁面翻譯都會在CPU內使用單一翻譯緩衝區。 此緩衝區的大小通常大於原生頁面大小的三個順序;這會增加翻譯緩衝區的效率,這會增加經常存取記憶體的效能。
下列程序說明如何使用大型頁面支援。
使用大型頁面支援
- 藉由呼叫 AdjustTokenPrivileges 函式,以取得 seLockMemoryPrivilege 許可權。 如需詳細資訊,請參閱 將許可權指派給帳戶 和 在令牌中變更許可權。
- 呼叫 getLargePageMinimum 函式,以擷取最小大型頁面大小。
- 呼叫 virtualAlloc函式時,請包含MEM_LARGE_PAGES 值。 大小和對齊必須是大頁面最小值的倍數。
撰寫使用大型頁面記憶體的應用程式時,請記住下列考慮:
- 在系統長時間執行之後,大型分頁記憶體區域可能很難取得,因為每個大型頁面的實體空間必須連續,但記憶體可能已分散。 在這些條件下配置大型頁面可能會大幅影響系統效能。 因此,應用程式應該避免進行重複的大型頁面配置,並在啟動時改為一次配置所有大型頁面。
- 記憶體一律為可擦寫和不可分頁的(一律位於物理記憶體中)。
- 記憶體是行程私用位元組的一部分,但不是工作集的一部分,因為依定義的工作集只包含可分頁記憶體。
- 大型頁面配置不受作業限制。
- 大型分頁記憶體必須保留並認可為單一作業。 換句話說,大型頁面無法用來認可先前保留的記憶體範圍。
- Intel Itanium 系統上的 WOW64 不支援使用此功能的 32 位應用程式。 應用程式應該重新編譯為原生 64 位應用程式。