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?
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.
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:)
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