Wie sperren Sie Seiten im Speicher mit WinAPI?

8

Ich muss verhindern, dass Anwendungsspeicherseiten unter Windows aus dem RAM ausgelagert werden. Gibt es eine WinAPI-Funktion, die äquivalent zu POSIX mlockall() ist, um das zu erreichen?

    
Alex B 17.12.2009, 00:36
quelle

3 Antworten

9

Ja, VirtualLock (). Es gibt eine Grenze für die Anzahl der Seiten, die Sie sperren können, Sie können RAM nicht hoggen. Details finden Sie im MSDN-Artikel.

    
Hans Passant 17.12.2009, 00:46
quelle
2

Ich muss fragen, warum müssen Sie das tun? Wenn jede App der Meinung war, dass ihre Seiten so wichtig sind, dass sie nicht ausgelagert werden sollten, wäre das eine riesige Verschwendung von Speicher.

Wenn die Seiten verwendet werden, werden nicht an die Auslagerungsdatei gesendet. Wenn sie nicht verwendet werden, warum sollten Sie sie behalten? Vertraue auf Mm, es wurde von einem sehr schlauen Typen geschrieben:)

    
Paul Betts 17.12.2009 01:25
quelle
0

Hallo, Sie können die Windows-Option von Sperrseiten im Speicher festlegen. Normalerweise wird diese Einstellung hauptsächlich von SQL Server verwendet, funktioniert aber auch für andere Anwendungen. Überprüfen Sie diese Website auf msdn

Aktivieren Sie die Adressierung von Windows-Erweiterungen (AWE) für Ihre Anwendung. Siehe diesen Link auf msdn

    
pipelinecache 17.12.2009 00:45
quelle

Tags und Links