Large-Page Support
Die Unterstützung für große Seiten ermöglicht Serveranwendungen das Einrichten von Speicherbereichen mit großen Seiten, was besonders unter 64-Bit-Windows nützlich ist. Jede Großseitenübersetzung verwendet einen einzelnen Übersetzungspuffer innerhalb der CPU. Die Größe dieses Puffers ist in der Regel um drei Größenordnungen größer als die native Seitengröße. Dies erhöht die Effizienz des Übersetzungspuffers, was die Leistung des häufig zugegriffenen Arbeitsspeichers erhöhen kann.
Im folgenden Verfahren wird beschrieben, wie Sie die Unterstützung für große Seiten verwenden.
So verwenden Sie die Unterstützung für große Seiten
- Rufen Sie das SeLockMemoryPrivilege-Recht ab, indem Sie die Funktion AdjustTokenPrivileges aufrufen. Weitere Informationen finden Sie unter Zuweisen von Berechtigungen zu einem Konto und Ändern von Berechtigungen in einem Token.
- Rufen Sie die minimale Große Seitengröße ab, indem Sie die GetLargePageMinimum-Funktion aufrufen.
- Schließen Sie beim Aufrufen der VirtualAlloc-Funktion den Wert MEM_LARGE_PAGES ein. Die Größe und Ausrichtung müssen ein Vielfaches des großformatigen Minimums sein.
Beachten Sie beim Schreiben von Anwendungen, die arbeitsspeichergroße Seiten verwenden, die folgenden Überlegungen:
- Speicherbereiche mit großen Seiten sind möglicherweise schwierig zu erhalten, nachdem das System lange ausgeführt wurde, da der physische Speicherplatz für jede große Seite zusammenhängend sein muss, aber der Speicher möglicherweise fragmentiert ist. Die Zuordnung großer Seiten unter diesen Bedingungen kann sich erheblich auf die Systemleistung auswirken. Daher sollten Anwendungen vermeiden, wiederholte großformatige Zuordnungen vorzunehmen und stattdessen alle großen Seiten beim Start einmal zuzuordnen.
- Der Arbeitsspeicher ist immer lese-/schreibfähig und nicht ausstellbar (immer im physischen Arbeitsspeicher).
- Der Arbeitsspeicher ist Teil der privaten Byte des Prozesses, aber nicht Teil des Arbeitssatzes, da der Arbeitssatz per Definition nur auslagerungsfähigen Arbeitsspeicher enthält.
- Großseitenzuordnungen unterliegen keinen Auftragslimits.
- Arbeitsspeicher für große Seiten muss reserviert und als einzelner Vorgang festgelegt werden. Mit anderen Worten: Große Seiten können nicht zum Commit eines zuvor reservierten Speicherbereichs verwendet werden.
- WOW64 auf Intel Itanium-basierten Systemen unterstützt keine 32-Bit-Anwendungen, die dieses Feature verwenden. Die Anwendungen sollten als native 64-Bit-Anwendungen neu kompiliert werden.