поддержка Large-Page
Поддержка больших страниц позволяет серверным приложениям устанавливать области памяти больших страниц, которые особенно полезны в 64-разрядной версии Windows. Каждый перевод больших страниц использует один буфер перевода внутри ЦП. Размер этого буфера обычно составляет три порядка величины, превышающих размер собственной страницы; это повышает эффективность буфера перевода, что может повысить производительность часто доступ к памяти.
В следующей процедуре описывается использование поддержки больших страниц.
Использование поддержки больших страниц
- Получите привилегию SeLockMemoryPrivilege, вызвав функцию AdjustTokenPrivileges. Дополнительные сведения см. в разделе назначение привилегий учетной записи и изменение привилегий вмаркера.
- Получите минимальный размер большой страницы, вызвав функцию GetLargePageMinimum .
- Включите значение MEM_LARGE_PAGES при вызове функции VirtualAlloc. Размер и выравнивание должны быть несколькими из минимума больших страниц.
При написании приложений, использующих память больших страниц, следует учитывать следующие рекомендации.
- Области памяти больших страниц могут быть трудно получить после работы системы в течение длительного времени, так как физическое пространство для каждой большой страницы должно быть непрерывным, но память может стать фрагментированной. Выделение больших страниц в этих условиях может значительно повлиять на производительность системы. Поэтому приложения должны избегать повторяющихся выделений больших страниц и вместо этого выделять все большие страницы один раз при запуске.
- Память всегда считывается и не записывается (всегда находится в физической памяти).
- Память является частью частного байта процесса, но не частью рабочего набора, так как рабочий набор по определению содержит только страницы памяти.
- Выделение больших страниц не распространяется на ограничения заданий.
- Память больших страниц должна быть зарезервирована и зафиксирована как одна операция. Другими словами, большие страницы нельзя использовать для фиксации ранее зарезервированного диапазона памяти.
- WOW64 в системах на основе Intel Itanium не поддерживает 32-разрядные приложения, использующие эту функцию. Приложения должны быть перекомпилированы как собственные 64-разрядные приложения.